Учетные записи служб — это специальные учетные записи Google, которые могут использоваться приложениями для программного доступа к API Google через OAuth 2.0. Учетная запись службы использует поток OAuth 2.0, который не требует авторизации человека. Вместо этого он использует файл ключа, к которому может получить доступ только ваше приложение. В этом руководстве рассказывается, как получить доступ к Content API for Shopping с сервисными аккаунтами.
Примечание. Приложения, использующие учетные записи служб для аутентификации, могут получить доступ только к вашей учетной записи Merchant Center. Если вы пишете стороннее приложение, которому требуется доступ к учетным записям Merchant Center ваших клиентов, обратитесь к руководству по авторизации запросов .
Предпосылки
- Аккаунт Merchant Center .
Действия по использованию сервисного аккаунта для доступа к Content API for Shopping
- Создайте учетные данные служебной учетной записи или получите доступ к общедоступным учетным данным, которые вы уже создали. Вам нужно будет создать идентификатор клиента OAuth 2.0 и получить файл закрытого ключа *.json:
- Перейдите в консоль Google API .
- Выберите проект в раскрывающемся меню в верхней части страницы. Если у вас его еще нет, создайте его, нажав НОВЫЙ ПРОЕКТ .
- Если вы еще не включили Content API for Shopping для этого проекта, найдите его в списке Google API и включите.
- На боковой панели слева выберите Учетные данные . Возможно, вам придется щелкнуть стрелку влево в левом верхнем углу, чтобы увидеть это.
- Чтобы настроить учетную запись службы, выберите СОЗДАТЬ УЧЕТНЫЕ СВЕДЕНИЯ , а затем Учетная запись службы .
- Назовите новую учетную запись службы. Это также служит именем пользователя по умолчанию для идентификатора учетной записи службы. Запишите идентификатор учетной записи службы, включая часть после символа «@», для последующего использования. Нажмите СОЗДАТЬ , затем выполните необязательные действия по предоставлению доступа к проекту и пользователям и нажмите ГОТОВО .
Выбор роли для сервисного аккаунта не повлияет на то, какие вызовы могут быть сделаны к Content API, поскольку доступ к методам Content API вместо этого определяется ролью, связанной с идентификатором сервисного аккаунта в Merchant Center. Если вы не знаете, что выбрать, просто выберите Project > Viewer .
- Вы будете перенаправлены на страницу учетных записей служб, где можно получить доступ к вашей новой учетной записи службы.
- Чтобы получить закрытый ключ JSON, щелкните учетную запись службы, затем вкладку КЛЮЧИ . Щелкните ДОБАВИТЬ КЛЮЧ > Создать новый ключ , а затем выберите JSON в качестве типа ключа. Нажмите СОЗДАТЬ , чтобы загрузить закрытый ключ на свой компьютер.
- Добавьте новый сервисный аккаунт в качестве пользователя в свой аккаунт Merchant Center. Если вы являетесь сторонним разработчиком, вам нужно, чтобы ваш клиент сделал этот шаг за вас.
- Перейдите в свой аккаунт Merchant Center .
- Перейдите в раздел «Доступ к учетной записи» в настройках своей учетной записи Merchant Center.
- Нажмите + Добавить пользователя и используйте идентификатор учетной записи службы в качестве адреса электронной почты для нового пользователя.
Если вы ранее не записали идентификатор служебной учетной записи, перейдите на страницу администрирования служебных учетных записей и выберите созданный вами проект.
- Укажите настройки доступа пользователей и уведомлений по электронной почте для учетной записи службы. Обратите внимание, что для использования службы
Accounts
требуется доступ администратора . - Щелкните Добавить пользователя , чтобы сохранить настройки и вернуться к списку пользователей. Идентификатор учетной записи службы должен быть указан вместе с выбранной ролью пользователя.
- Повторите процесс для всех других учетных записей служб, которые вы хотите добавить.
- Теперь вы можете получить доступ к своей учетной записи Merchant Center, используя учетную запись службы либо с помощью потока учетных данных приложения Google по умолчанию , либо напрямую с помощью потока учетной записи службы . Content API for Shopping Samples показывает, как использовать оба потока для учетных данных учетной записи службы на каждом поддерживаемом языке программирования. Ознакомьтесь с примерами кода, чтобы опробовать новую учетную запись службы и узнать, какие изменения потребуются для использования учетных записей служб в собственном коде.
Часто задаваемые вопросы
- Могу ли я войти в пользовательский интерфейс Merchant Center, используя свой сервисный аккаунт?
- Нет, сервисные аккаунты не являются обычными аккаунтами Google и не могут получить доступ к пользовательскому интерфейсу Merchant Center.
- Как часто мне нужно обновлять токены доступа к учетной записи службы?
- Токены доступа истекают через час после их выдачи сервером авторизации Google OAuth 2.0. По истечении срока действия маркера доступа приложение должно использовать клиентскую библиотеку для получения другого маркера доступа.