Использование сервисных учетных записей OAuth 2.0 с API-интерфейсом Producer Center.

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

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

Действия по использованию сервисной учетной записи для доступа к API-интерфейсу Producer Center

  1. Создайте учетные данные сервисной учетной записи или получите доступ к общедоступным учетным данным, которые вы уже создали. Вам нужно будет создать идентификатор клиента OAuth 2.0 и получить файл закрытого ключа *.json:

    1. Перейдите в консоль Google API .

    2. Выберите проект в раскрывающемся меню вверху страницы. Если у вас его еще нет, создайте его, нажав «Создать проект» .

    3. Если вы еще не включили API Producer Center для этого проекта, найдите его в списке API Google и включите.

    4. На боковой панели слева выберите «Учетные данные» .

    5. Чтобы настроить учетную запись службы, выберите « Создать учетные данные» , а затем «Ключ учетной записи службы» .

    Скриншот учетных данных создания учетной записи службы.

    1. На следующей странице выберите «Новая учетная запись службы» в раскрывающемся списке.

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

    Скриншот имени новой учетной записи службы.

    1. Выберите JSON в качестве типа ключа, затем нажмите «Создать» .

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

    1. Вы вернетесь на страницу «Учетные данные» и увидите новую учетную запись службы в списке ключей учетной записи службы для своей учетной записи.
  2. Добавьте новую учетную запись службы в качестве пользователя в свою учетную запись Producer Center. Если вы являетесь сторонним разработчиком, вам необходимо, чтобы ваш клиент сделал этот шаг за вас.

    1. Перейдите в свою учетную запись в Центре производителей .

    2. Перейдите в список «Пользователи» в настройках вашей учетной записи Producer Center.

    3. Нажмите кнопку +Пользователь и используйте идентификатор сервисной учетной записи в качестве адреса электронной почты для нового пользователя.

      Скриншот кнопки «Добавить учетную запись пользователя службы».

    4. Заполните форму, указав идентификатор сервисной учетной записи , и выберите нужные роли пользователя. Необходимо выбрать хотя бы один, а для использования службы Accounts требуется роль администратора.

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

    Добавьте скриншот страницы пользователя сервисной учетной записи.

    1. Нажмите кнопку «Сохранить» . Вы вернетесь к списку пользователей, и идентификатор учетной записи службы должен быть указан вместе с выбранными ролями пользователя.

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

    3. Просмотрите существующих пользователей учетной записи службы, перейдя на вкладку «Пользователи». Это будут пользователи, адрес электронной почты которых заканчивается на «gserviceaccount.com».

  3. Теперь вы можете получить доступ к своей учетной записи Producer Center с помощью учетной записи службы либо с помощью потока учетных данных приложения Google по умолчанию , либо напрямую с помощью потока учетной записи службы . В примерах API Центра производителей показано, как использовать оба потока для учетных данных сервисной учетной записи на каждом поддерживаемом языке программирования. Просмотрите примеры кода, чтобы опробовать новую учетную запись службы и узнать, какие изменения вам потребуются для использования учетных записей службы в собственном коде.

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

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

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

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

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