Используйте API публикации в Интернет-магазине Chrome.

Обзор

API публикации Интернет-магазина Chrome предоставляет набор конечных точек REST для программного создания, обновления и публикации элементов в Интернет-магазине Chrome.

Начальная настройка

Прежде чем вы сможете начать выполнять вызовы REST к Интернет-магазину Chrome, вам необходимо включить API Интернет-магазина Chrome, настроить экран согласия OAuth и получить ключи доступа к API. В следующих разделах описан этот процесс.

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

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

Настройка экрана согласия OAuth

  1. Перейдите на экран согласия OAuth .
  2. Выберите «Внешний» , затем «Создать» . Создайте экран согласия Oauth
  3. Заполните необходимые поля с информацией о приложении (перечислены ниже), затем нажмите «Сохранить и продолжить» .
    • Имя приложения.
    • Электронная почта службы поддержки пользователей.
    • Контактный адрес электронной почты разработчика.
  4. Пропустить области. нажмите «Сохранить» , затем «Продолжить» .
  5. Добавьте свой адрес электронной почты в список тестовых пользователей , затем нажмите «Сохранить» , а затем «Продолжить» .

Получите ключи доступа

  1. Перейдите в раздел «Учетные данные» .
  2. Нажмите «Создать учетные данные» , затем «Идентификатор клиента OAuth» . Создать учетные данные
  3. В качестве типа приложения выберите Desktop App .
  4. Введите имя и нажмите «Создать» .

Консоль предоставит идентификатор клиента и секрет клиента.

Тестирование вашего приложения OAuth

Вы можете получить токен доступа для работы с API. Например, введите этот URL-адрес в своем браузере, заменив $CLIENT_ID на URL-адрес вашего приложения:

https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/chromewebstore&client_id=$CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob

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

Пользовательский интерфейс запроса разрешения

Нажмите «Принять» и скопируйте код. Это должно выглядеть примерно так:

Пользовательский интерфейс для копирования кода

Используйте это значение для запроса токена доступа . Например, используя curl , вы можете получить токен доступа, выполнив следующую команду (заменив значения $CLIENT_ID, $CLIENT_SECRET и $CODE значениями, указанными выше):

> curl "https://accounts.google.com/o/oauth2/token" -d \
"client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&code=$CODE&grant_type=authorization_code&redirect_uri=urn:ietf:wg:oauth:2.0:oob"

Это вернет такой результат, как:

{
  "access_token" : "ya29...",
  "expires_in" : 3600,
  "refresh_token" : "1/rwn...",
  "scope": "https://www.googleapis.com/auth/chromewebstore",
  "token_type" : "Bearer",
}

Теперь вы можете использовать access_token для вызова API. Вы также можете использовать токен обновления для получения будущих токенов доступа. Обратите внимание, что срок действия токенов истекает через час.

Использование API

Получив токен доступа, ваше расширение сможет использовать API публикации Интернет-магазина Chrome. Существуют конечные точки для создания нового элемента, обновления существующего элемента и публикации элемента.

Ниже приведен список рекомендаций по использованию API публикации:

Подробнее об API публикации в Интернет-магазине Chrome можно узнать здесь .

Загрузка пакета для создания нового товара в магазине

Endpoint: https://www.googleapis.com/upload/chromewebstore/v1.1/items
Type: POST
Header Parameters: 
  $TOKEN: the access token
Body content: the package file to upload

Введите следующий пример в командной строке:

> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X POST \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items

Загрузка пакета для обновления существующего товара в магазине

Endpoint: https://www.googleapis.com/upload/chromewebstore/v1.1/items/$ITEM_ID
Type: PUT
Header Parameters: 
  $TOKEN: the access token
Body content: the package file to upload

$ITEM_ID — это идентификатор существующего элемента Интернет-магазина.

> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-X PUT \
-T $FILE_NAME \
-v \
https://www.googleapis.com/upload/chromewebstore/v1.1/items/$ITEM_ID

Публикация элемента для общего доступа

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish
Type: POST
Header Parameters: 
  $TOKEN: the access token
> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-X POST \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish

Публикация элемента для доверенных тестировщиков

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish?publishTarget=trustedTesters
Type: POST
Header Parameters: 
  $TOKEN: the access token
> curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-X POST \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID/publish?publishTarget=trustedTesters

Проверка статуса загрузки элемента

Endpoint: https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID?projection=DRAFT
Type: GET
Header Parameters: 
  $TOKEN: the access token
curl \
-H "Authorization: Bearer $TOKEN"  \
-H "x-goog-api-version: 2" \
-H "Content-Length: 0" \
-H "Expect:" \
-X GET \
-v \
https://www.googleapis.com/chromewebstore/v1.1/items/$ITEM_ID?projection=DRAFT