Для работы с Merchant API требуется аутентификация. Для аутентификации можно использовать учетные данные OAuth 2.0, сервисный аккаунт или учетные данные по умолчанию для приложения (ADC) (обычно используются для тестирования и локальной разработки).
Вы можете использовать сервисный аккаунт, чтобы авторизовать доступ Merchant API к вашему аккаунту Merchant Center. Если вашему приложению нужен доступ к аккаунтам Merchant Center ваших клиентов, прочитайте статью Как предоставить стороннему приложению доступ к аккаунтам Merchant Center.
Сервисный аккаунт – это аккаунт специального типа, который обычно используется приложением, а не человеком. Сервисный аккаунт идентифицируется по уникальному адресу электронной почты.
Прежде чем выполнить эти действия, необходимо создать аккаунт Merchant Center.
Как создать сервисный аккаунт
Сгенерируйте учетные данные сервисного аккаунта или получите доступ к уже сгенерированным общедоступным учетным данным, а затем создайте идентификатор клиента OAuth 2.0.
- Войдите в Google API Console.
- Выберите проект в раскрывающемся меню вверху страницы или нажмите Новый проект, чтобы создать его.
- Найдите Merchant API в списке API Google и убедитесь, что он включен для этого проекта.
- Нажмите Настроить.
- Нажмите Учетные данные в панели слева. Если вы не видите раздел Учетные данные, нажмите на стрелку влево в левом верхнем углу страницы.
- Нажмите Создать учетные данные, а затем – Сервисный аккаунт.
- Укажите название сервисного аккаунта. Это имя пользователя по умолчанию для идентификатора сервисного аккаунта. Сохраните идентификатор сервисного аккаунта, включая часть после символа @, для дальнейшего использования.
Нажмите Создать, выполните необязательные шаги, чтобы предоставить доступ к проекту и пользователям, а затем нажмите Готово.
Как получить закрытый ключ JSON
Создайте закрытый ключ JSON для сервисного аккаунта в Google API Console:
- Нажмите на сервисный аккаунт и выберите вкладку KEYS (Ключи).
- Нажмите ADD KEY (Добавить ключ) > Create new key (Создать ключ).
- В качестве типа ключа выберите JSON.
- Нажмите Создать, чтобы скачать закрытый ключ. Примечание. Скачать закрытый ключ можно только при его создании. Вы не сможете вернуться к этому шагу позже.
Как предоставить сервисному аккаунту доступ к аккаунту Merchant Center
Добавьте новый сервисный аккаунт в качестве пользователя в аккаунт Merchant Center:
- Войдите в Merchant Center.
- Нажмите Настройки settings.
- В раскрывающемся списке выберите Доступ и сервисы.
- На вкладке "Пользователи и доступ" нажмите Добавить пользователя.
В качестве адреса электронной почты нового пользователя укажите идентификатор сервисного аккаунта.
Если вы не сохранили идентификатор сервисного аккаунта, перейдите на страницу администрирования Сервисные аккаунты и выберите проект.
Укажите настройки Доступ пользователей и Уведомления по электронной почте для сервисного аккаунта.
Нажмите Добавить пользователя, чтобы сохранить изменения и вернуться к списку пользователей. Идентификатор сервисного аккаунта должен быть указан с выбранной ролью пользователя.
Повторите эти действия для всех сервисных аккаунтов, которым нужен доступ к данным в аккаунте Merchant Center.
Часто задаваемые вопросы
- Можно ли войти в интерфейс Merchant Center с помощью сервисного аккаунта?
- Нет, сервисные аккаунты не являются обычными аккаунтами Google и не могут получить доступ к интерфейсу Merchant Center.
- Как часто нужно обновлять токены доступа сервисного аккаунта?
- Срок действия токенов доступа истекает через час после их выдачи сервером авторизации Google OAuth 2.0. Когда срок действия токена доступа истекает, приложение должно использовать клиентскую библиотеку, чтобы получить новый токен. Чтобы обновить токен вручную, удалите файл
stored-token.jsonи повторно пройдите аутентификацию.