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

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

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

Предварительные условия

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

  1. Создайте учетные данные сервисной учетной записи или получите доступ к уже созданным общедоступным учетным данным. Вам нужно будет создать идентификатор клиента OAuth 2.0 и получить файл закрытого ключа *.json:
    1. Перейдите в консоль Google API .
    2. Выберите проект в раскрывающемся меню вверху страницы. Если у вас его еще нет, создайте его, нажав НОВЫЙ ПРОЕКТ .
    3. Если вы еще не включили Content API for Shopping для этого проекта, найдите его в списке API Google и включите.
    4. На боковой панели слева выберите «Учетные данные» . Чтобы увидеть это, возможно, вам придется щелкнуть стрелку, указывающую влево, в левом верхнем углу.
    5. Чтобы настроить учетную запись службы, выберите CREATE CREDENTIALS , а затем учетную запись службы .
    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 показано, как использовать оба потока для учетных данных сервисной учетной записи на каждом поддерживаемом языке программирования. Ознакомьтесь с примерами кода, чтобы опробовать свою новую учетную запись службы и узнать, какие изменения вам потребуются для использования учетных записей службы в вашем собственном коде.

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

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