Сервисные аккаунты

Учетные записи служб — это специальные учетные записи Google, которые могут использоваться приложениями для программного доступа к API Google через OAuth 2.0. Учетная запись службы использует поток OAuth 2.0, который не требует авторизации человека. Вместо этого он использует файл ключа, к которому может получить доступ только ваше приложение. В этом руководстве рассказывается, как получить доступ к Content API for Shopping с сервисными аккаунтами.

Примечание. Приложения, использующие учетные записи служб для аутентификации, могут получить доступ только к вашей учетной записи Merchant Center. Если вы пишете стороннее приложение, которому требуется доступ к учетным записям Merchant Center ваших клиентов, обратитесь к руководству по авторизации запросов .

Предпосылки

Действия по использованию сервисного аккаунта для доступа к Content API for Shopping

  1. Создайте учетные данные служебной учетной записи или получите доступ к общедоступным учетным данным, которые вы уже создали. Вам нужно будет создать идентификатор клиента OAuth 2.0 и получить файл закрытого ключа *.json:
    1. Перейдите в консоль Google API .
    2. Выберите проект в раскрывающемся меню в верхней части страницы. Если у вас его еще нет, создайте его, нажав НОВЫЙ ПРОЕКТ .
    3. Если вы еще не включили Content API for Shopping для этого проекта, найдите его в списке Google API и включите.
    4. На боковой панели слева выберите Учетные данные . Возможно, вам придется щелкнуть стрелку влево в левом верхнем углу, чтобы увидеть это.
    5. Чтобы настроить учетную запись службы, выберите СОЗДАТЬ УЧЕТНЫЕ СВЕДЕНИЯ , а затем Учетная запись службы .
    6. Назовите новую учетную запись службы. Это также служит именем пользователя по умолчанию для идентификатора учетной записи службы. Запишите идентификатор учетной записи службы, включая часть после символа «@», для последующего использования. Нажмите СОЗДАТЬ , затем выполните необязательные действия по предоставлению доступа к проекту и пользователям и нажмите ГОТОВО .

      Выбор роли для сервисного аккаунта не повлияет на то, какие вызовы могут быть сделаны к Content API, поскольку доступ к методам Content API вместо этого определяется ролью, связанной с идентификатором сервисного аккаунта в Merchant Center. Если вы не знаете, что выбрать, просто выберите Project > Viewer .

    7. Вы будете перенаправлены на страницу учетных записей служб, где можно получить доступ к вашей новой учетной записи службы.
    8. Чтобы получить закрытый ключ JSON, щелкните учетную запись службы, затем вкладку КЛЮЧИ . Щелкните ДОБАВИТЬ КЛЮЧ > Создать новый ключ , а затем выберите JSON в качестве типа ключа. Нажмите СОЗДАТЬ , чтобы загрузить закрытый ключ на свой компьютер.
  2. Добавьте новый сервисный аккаунт в качестве пользователя в свой аккаунт Merchant Center. Если вы являетесь сторонним разработчиком, вам нужно, чтобы ваш клиент сделал этот шаг за вас.
    1. Перейдите в свой аккаунт Merchant Center .
    2. Перейдите в раздел «Доступ к учетной записи» в настройках своей учетной записи Merchant Center.
    3. Нажмите + Добавить пользователя и используйте идентификатор учетной записи службы в качестве адреса электронной почты для нового пользователя.

      Если вы ранее не записали идентификатор служебной учетной записи, перейдите на страницу администрирования служебных учетных записей и выберите созданный вами проект.

    4. Укажите настройки доступа пользователей и уведомлений по электронной почте для учетной записи службы. Обратите внимание, что для использования службы Accounts требуется доступ администратора .
    5. Щелкните Добавить пользователя , чтобы сохранить настройки и вернуться к списку пользователей. Идентификатор учетной записи службы должен быть указан вместе с выбранной ролью пользователя.
    6. Повторите процесс для всех других учетных записей служб, которые вы хотите добавить.
  3. Теперь вы можете получить доступ к своей учетной записи Merchant Center, используя учетную запись службы либо с помощью потока учетных данных приложения Google по умолчанию , либо напрямую с помощью потока учетной записи службы . Content API for Shopping Samples показывает, как использовать оба потока для учетных данных учетной записи службы на каждом поддерживаемом языке программирования. Ознакомьтесь с примерами кода, чтобы опробовать новую учетную запись службы и узнать, какие изменения потребуются для использования учетных записей служб в собственном коде.

Часто задаваемые вопросы

Могу ли я войти в пользовательский интерфейс Merchant Center, используя свой сервисный аккаунт?
Нет, сервисные аккаунты не являются обычными аккаунтами Google и не могут получить доступ к пользовательскому интерфейсу Merchant Center.
Как часто мне нужно обновлять токены доступа к учетной записи службы?
Токены доступа истекают через час после их выдачи сервером авторизации Google OAuth 2.0. По истечении срока действия маркера доступа приложение должно использовать клиентскую библиотеку для получения другого маркера доступа.