Обзор
API публикации Интернет-магазина Chrome предоставляет набор конечных точек REST для программного создания, обновления и публикации элементов в Интернет-магазине Chrome.
Начальная настройка
Прежде чем вы сможете начать выполнять вызовы REST к Интернет-магазину Chrome, вам необходимо включить API Интернет-магазина Chrome, настроить экран согласия OAuth и получить ключи доступа к API. В следующих разделах описан этот процесс.
Включите API Интернет-магазина Chrome
- Перейдите в облачную консоль Google .
- Создайте новый проект или выберите существующий.
- В строке поиска введите «API Интернет-магазина Chrome».
- Включите API Интернет-магазина Chrome .
Настройка экрана согласия OAuth
- Перейдите на экран согласия OAuth .
- Выберите «Внешний» , затем «Создать» .
- Заполните необходимые поля с информацией о приложении (перечислены ниже), затем нажмите «Сохранить и продолжить» .
- Имя приложения.
- Электронная почта службы поддержки пользователей.
- Контактный адрес электронной почты разработчика.
- Пропустить области. нажмите «Сохранить» , затем «Продолжить» .
- Добавьте свой адрес электронной почты в список тестовых пользователей , затем нажмите «Сохранить» , а затем «Продолжить» .
Получите ключи доступа
- Перейдите в раздел «Учетные данные» .
- Нажмите «Создать учетные данные» , затем «Идентификатор клиента OAuth» .
- В качестве типа приложения выберите Desktop App .
- Введите имя и нажмите «Создать» .
Консоль предоставит идентификатор клиента и секрет клиента.
Тестирование вашего приложения 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 публикации:
- Разработчики должны включить двухэтапную аутентификацию для своей учетной записи Google, чтобы опубликовать или обновить существующее расширение.
- Прежде чем вы сможете опубликовать новый элемент, вам необходимо заполнить вкладки «Список магазинов» и «Порядок конфиденциальности» на панели инструментов разработчика .
- После публикации нового или существующего элемента он проходит процедуру проверки. Дополнительную информацию см. в разделе «Процесс проверки» .
- Чтобы выпустить обновление, увеличьте число в поле версии манифеста.
Подробнее об 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