Использование сервисных аккаунтов OAuth 2.0 с API Manufacturer Center

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

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

Предпосылки

Действия по использованию учетной записи службы для доступа к API Manufacturer Center

  1. Создайте учетные данные сервисной учетной записи или получите доступ к общедоступным учетным данным, которые вы уже создали. Вам нужно будет создать идентификатор клиента OAuth 2.0 и получить файл закрытого ключа *.json:
    1. Перейдите в консоль Google API .
    2. Выберите проект в раскрывающемся меню в верхней части страницы. Если у вас его еще нет, создайте его, нажав « Создать проект» .
    3. Если вы еще не включили API Manufacturer Center для этого проекта, найдите его в списке API Google и включите.
    4. На боковой панели слева выберите Учетные данные .
    5. Чтобы настроить учетную запись службы, выберите Создать учетные данные , а затем Ключ учетной записи службы .
      Скриншот создания учетных данных служебной учетной записи.
    6. На следующей странице выберите Новая учетная запись службы из раскрывающегося списка.
    7. Назовите новую учетную запись службы. Это также служит именем пользователя по умолчанию для идентификатора учетной записи службы. Запомните идентификатор служебной учетной записи для последующего использования.

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

      Скриншот имени новой учетной записи службы.
    8. Выберите JSON в качестве типа ключа, затем нажмите « Создать » .
    9. Кнопка « Создать » изменится на « Создание... », и после завершения генерации ключа закрытый ключ будет автоматически загружен в виде файла *.json.

      Важно! Защитите файл ключа *.json, который позволяет сервисному аккаунту получать доступ к сервисам Google, для которых он авторизован. Рекомендуется разрешать учетным записям служб доступ только к одному Google API. Это превентивная мера, позволяющая уменьшить объем данных, к которым может получить доступ злоумышленник в ситуации, когда файл ключа *.json служебной учетной записи скомпрометирован.

    10. Вы вернетесь на страницу учетных данных и увидите новую учетную запись службы в списке ключей учетной записи службы для вашей учетной записи.
  2. Добавьте новую учетную запись службы в качестве пользователя в свою учетную запись в Manufacturer Center. Если вы являетесь сторонним разработчиком, вам нужно, чтобы ваш клиент сделал этот шаг за вас.
    1. Перейдите в свою учетную запись в Производственном центре .
    2. Перейдите к списку «Пользователи» в настройках вашего аккаунта в Manufacturer Center.
    3. Нажмите кнопку +Пользователь и используйте идентификатор учетной записи службы в качестве адреса электронной почты для нового пользователя. Скриншот кнопки добавления служебной учетной записи пользователя.
    4. Заполните форму с идентификатором учетной записи службы и выберите желаемую(ые) роль(и) пользователя. Должен быть выбран хотя бы один, а для использования службы Accounts требуется роль администратора.

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

      Добавьте скриншот страницы пользователя сервисной учетной записи.
    5. Нажмите кнопку Сохранить . Вы вернетесь к списку пользователей, и идентификатор учетной записи службы должен быть указан вместе с выбранными ролями пользователя.
    6. Повторите процесс для всех других учетных записей служб, которые вы хотите добавить.
    7. Просмотрите существующих пользователей сервисных учетных записей, перейдя на вкладку «Пользователи». Это будут пользователи с адресом электронной почты, заканчивающимся на «gserviceaccount.com».
  3. Теперь вы можете получить доступ к своей учетной записи Manufacturer Center, используя учетную запись службы либо с помощью потока учетных данных приложения Google по умолчанию , либо напрямую с помощью потока учетной записи службы . В примерах API Manufacturer Center показано, как использовать оба потока для учетных данных сервисной учетной записи на каждом поддерживаемом языке программирования. См. примеры кода, чтобы опробовать новую учетную запись службы и узнать, какие изменения потребуются для использования учетных записей служб в собственном коде.

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

Могу ли я войти в пользовательский веб-интерфейс Manufacturer Center с помощью своей служебной учетной записи?

Нет, учетные записи служб не являются обычными учетными записями Google и не могут получить доступ к пользовательскому веб-интерфейсу Manufacturer Center.

Как часто мне нужно обновлять токены доступа к учетной записи службы?

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