Используйте учетную запись службы с API Chrome Web Store

API Chrome Web Store поддерживает аутентификацию с использованием учётных записей Google Cloud Service. Учётные записи Service — это специальные учётные записи, не требующие участия человека, предназначенные для взаимодействия между серверами, что делает их идеальным решением для автоматизации процессов публикации расширений, например, в конвейерах непрерывной интеграции/разработки (CI/CD) или других внутренних сервисах. Они позволяют использовать API без необходимости прохождения процедуры OAuth с непосредственным участием пользователя.

Подключив учетную запись службы к панели разработчика Chrome Web Store, вы предоставляете ей полномочия управлять элементами, принадлежащими вашей учетной записи издателя.

Настраивать

Сначала мы настроим учетную запись службы и предоставим ей доступ к API Chrome Web Store.

Включить API интернет-магазина Chrome

  1. Перейдите в Google Cloud Console .
  2. Создайте новый проект или выберите существующий.
    Создайте новый проект в Google Console.
    Создайте новый проект в Google Console.
  3. В строке поиска введите «Chrome Web Store API».
  4. Включить API интернет-магазина Chrome .

Создать учетную запись службы

Добавление новой учетной записи сервиса в Google Cloud Console.
Добавление новой учетной записи сервиса в Google Cloud Console.

Создайте учётную запись сервиса в консоли Google Cloud. На этом этапе вам не нужно добавлять какие-либо разрешения для учётной записи сервиса.

Добавьте учетную запись службы на панель разработчика

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

Предоставьте своей учетной записи службы доступ к API Chrome Web Store, добавив адрес электронной почты учетной записи службы на панели разработчика в разделе «Учетная запись» .

Получить токены доступа

Чтобы использовать учётную запись службы с API Chrome Web Store, вашему приложению необходимо получить токен доступа, связанный с учётной записью службы. Это можно сделать несколькими способами в зависимости от того, где выполняется код приложения и ваших настроек безопасности.

Выдача себя за учетную запись службы

Вы можете использовать инструмент командной строки gcloud для получения краткосрочного токена доступа для вашей учётной записи сервиса. Он часто используется для локальной разработки или доступа к интерфейсу командной строки (CLI).

gcloud auth login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud config set project PROJECT_ID
gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT_EMAIL --scopes=https://www.googleapis.com/auth/chromewebstore
ACCESS_TOKEN=<The output from the last command>

Затем сделайте запросы, как показано в руководстве .

Используйте веб-токен JSON

Альтернативно, вы можете выполнить прямую аутентификацию по HTTP с помощью JSON Web Token (JWT). Создайте JSON-ключ для своего сервисного аккаунта в Google Cloud Console.

Диалог создания ключа в Google Cloud Console.
Диалог создания ключа в Google Cloud Console.

Затем следуйте инструкциям по созданию JWT и обмену его на токен доступа.