Usar a API Publish da Chrome Web Store

Informa��es gerais

A API Publish do Chrome Web Store fornece um conjunto de endpoints REST para criar, atualizar e publicar itens de maneira program�tica na Chrome Web Store.

Configura��o inicial

Antes de come�ar a fazer chamadas REST na Chrome Web Store, voc� precisa ativar a API Chrome Web Store, configurar a tela de permiss�o OAuth e recuperar suas chaves de acesso � API. As se��es a seguir mostram esse processo.

Ativar a API Chrome Web Store

  1. Acesse o console do Google Cloud.
  2. Crie um novo projeto ou selecione um existente. Crie um novo
projeto no console do Google
  3. Na barra de pesquisa, digite "API Chrome Web Store".
  4. Ative a API Chrome Web Store.

Configurar a tela de permiss�o OAuth

  1. Acesse a Tela de permiss�o OAuth.
  2. Selecione External e Create. Criar uma tela de consentimento do OAuth
  3. Preencha os campos obrigat�rios em Informa��es do app (listados abaixo) e clique em Salvar e continuar.
    • Nome do app.
    • E-mail para suporte do usu�rio
    • E-mail de contato do desenvolvedor.
  4. Pule a se��o "Escopos", clique em Salvar e em Continuar.
  5. Adicione seu endere�o de e-mail para Usu�rios de teste, clique em Salvar e em Continuar.

Conseguir as chaves de acesso

  1. Acesse Credenciais.
  2. Clique em Criar credenciais e em ID do cliente OAuth. Criar credenciais
  3. Em Tipo de aplicativo, escolha App para computador.
  4. Preencha o nome e clique em Criar.

O console fornecer� o ID e a chave secreta do cliente.

Como testar o aplicativo OAuth

� poss�vel recuperar um token de acesso para trabalhar com a API. Por exemplo, insira este URL no navegador, substituindo o $CLIENT_ID pelo do seu app:

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

Aparecer� uma p�gina solicitando que voc� aceite a permiss�o para o escopo solicitado.

IU de solicita��o de permiss�o

Clique em Aceitar e copie o c�digo. O c�digo ser� semelhante a este:

IU para copiar c�digo

Use esse valor para solicitar um token de acesso. Por exemplo, com curl, � poss�vel receber um token de acesso executando o comando a seguir (substituindo os valores de $CLIENT_ID, $CLIENT_SECRET e $CODE pelos valores acima):

> 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"

Isso retornar� um resultado como:

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

Agora voc� pode usar o access_token para chamar a API. Tamb�m � poss�vel usar o token de atualiza��o para receber tokens de acesso futuros. Os tokens expiram ap�s uma hora.

Como usar a API

Assim que voc� tiver um token de acesso, sua extens�o poder� usar a API Chrome Web Store Publish. Existem endpoints para criar, atualizar e publicar um item.

Veja abaixo uma lista de considera��es para usar a API Publish:

Saiba mais sobre a API Publish da Chrome Web Store aqui.

Fazer upload de um pacote para criar um item da loja

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

Digite o exemplo a seguir na linha de comando:

> 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

Fazer upload de um pacote para atualizar um item da loja

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 � o c�digo do item existente na loja on-line.

> 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

Publicar um item para o p�blico

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

Como publicar um item para trusted testers

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

Verificar o status de upload de um item

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