Сервисные учетные записи — это специальные учетные записи Google, которые приложения могут использовать для программного доступа к API Google через OAuth 2.0. Сервисная учетная запись использует поток OAuth 2.0, не требующий авторизации человека. Вместо этого она использует файл ключа, к которому имеет доступ только ваше приложение. В этом руководстве описывается, как получить доступ к Content API для покупок с помощью сервисных учетных записей.
Примечание: Приложения, использующие служебные учетные записи для аутентификации, могут получить доступ только к вашей собственной учетной записи Merchant Center. Если вы разрабатываете стороннее приложение, которому необходим доступ к учетным записям Merchant Center ваших клиентов, обратитесь к руководству по авторизации запросов .
Предварительные требования
- Аккаунт в Merchant Center .
Пошаговая инструкция по использованию сервисной учетной записи для доступа к Content API для покупок.
- Сгенерируйте учетные данные сервисной учетной записи или получите доступ к уже сгенерированным открытым учетным данным. Вам потребуется создать идентификатор клиента OAuth 2.0 и получить файл закрытого ключа *.json:
- Перейдите в консоль Google API .
- Выберите проект в выпадающем меню вверху страницы. Если у вас его еще нет, создайте его, нажав кнопку «НОВЫЙ ПРОЕКТ» .
- Если вы еще не включили Content API для покупок для этого проекта, найдите его в списке API 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 демонстрируют, как использовать оба потока для учетных данных учетной записи службы в каждом поддерживаемом языке программирования. Пожалуйста, ознакомьтесь с примерами кода, чтобы протестировать свою новую учетную запись службы и узнать, какие изменения вам потребуются для использования учетных записей служб в вашем собственном коде.
Часто задаваемые вопросы
- Могу ли я войти в пользовательский интерфейс Merchant Center, используя свою учетную запись сервиса?
- Нет, служебные учетные записи не являются обычными учетными записями Google и не могут получить доступ к пользовательскому интерфейсу Merchant Center.
- Как часто мне нужно обновлять токены доступа к служебным учетным записям?
- Срок действия токенов доступа истекает через час после их выдачи сервером авторизации Google OAuth 2.0. По истечении срока действия токена доступа приложение должно использовать клиентскую библиотеку для получения нового токена доступа.