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
- Acesse o console do Google Cloud.
- Crie um novo projeto ou selecione um existente.
- Na barra de pesquisa, digite "API Chrome Web Store".
- Ative a API Chrome Web Store.
Configurar a tela de permissão OAuth
- Acesse a Tela de permissão OAuth.
- Selecione External e Create.
- 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.
- Pule a seção "Escopos", clique em Salvar e em Continuar.
- Adicione seu endereço de e-mail para Usuários de teste, clique em Salvar e em Continuar.
Conseguir as chaves de acesso
- Acesse Credenciais.
- Clique em Criar credenciais e em ID do cliente OAuth.
- Em Tipo de aplicativo, escolha App para computador.
- 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=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.
Clique em Aceitar e copie o código. O código será semelhante a este:
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:
- Os desenvolvedores precisam ativar a verificação em duas etapas na Conta do Google para publicar ou atualizar uma extensão existente.
- Antes de publicar um novo item, é necessário preencher as guias Detalhes do app e Práticas de privacidade no Painel do desenvolvedor.
- Depois da publicação de um item novo ou existente, ele passa por um processo de revisão. Consulte Processo de revisão para saber mais.
- Para lançar uma atualização, aumente o número no campo version do manifesto.
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