Utilizzare l'API Chrome Web Store Publish

Panoramica

L'API Chrome Web Store Publish fornisce un insieme di endpoint REST per creare, aggiornare e pubblicare elementi nel Chrome Web Store in modo programmatico.

Configurazione iniziale

Prima di poter iniziare a effettuare chiamate REST su Chrome Web Store, devi attivare l'API Chrome Web Store, configurare la schermata per il consenso OAuth e recuperare le tue chiavi di accesso API. La procedura viene illustrata nelle sezioni seguenti.

Attiva l'API Chrome Web Store

  1. Vai alla console Google Cloud.
  2. Crea un nuovo progetto o selezionane uno esistente. Crea un nuovo progetto nella console Google
  3. Nella barra di ricerca, digita "API Chrome Web Store".
  4. Attiva l'API Chrome Web Store.

Configura la schermata per il consenso OAuth

  1. Vai a Schermata consenso OAuth.
  2. Seleziona External (Esterno), quindi Create (Crea). Crea una schermata di
consenso OAuth
  3. Compila i campi obbligatori Informazioni sull'app (elencati di seguito), poi fai clic su Salva e continua.
    • Nome dell'app.
    • Email dell'assistenza utenti.
    • Email di contatto dello sviluppatore.
  4. Ignora ambiti. Fai clic su Salva e poi su Continua.
  5. Aggiungi il tuo indirizzo email a Utenti di test, quindi fai clic su Salva e poi su Continua.

Recuperare le chiavi di accesso

  1. Vai a Credenziali.
  2. Fai clic su Crea credenziali, quindi su ID client OAuth. Crea credenziali
  3. Per Tipo di applicazione, scegli App desktop.
  4. Inserisci il nome e fai clic su Crea.

La console fornirà l'ID client e il client secret.

Test dell'applicazione OAuth

Puoi recuperare un token di accesso per utilizzare l'API. Ad esempio, inserisci questo URL nel browser, sostituendo il valore $CLIENT_ID con quello della tua applicazione:

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

Verrà visualizzata una pagina in cui ti viene chiesto di accettare l'autorizzazione per l'ambito richiesto.

UI richiesta di autorizzazione

Fai clic su Accetta e copia il codice. Il sito dovrebbe avere il seguente aspetto:

UI per la copia del codice

Utilizza questo valore per richiedere un token di accesso. Ad esempio, utilizzando curl, puoi ottenere un token di accesso eseguendo il comando seguente (sostituendo i valori di $CLIENT_ID, $CLIENT_SECRET e $CODE con i valori precedenti):

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

Verrà restituito un risultato come:

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

Ora puoi utilizzare access_token per chiamare l'API. Puoi anche utilizzare il token di aggiornamento per ottenere token di accesso futuri. Tieni presente che i token scadono dopo un'ora.

Utilizzo dell'API

Una volta ottenuto un token di accesso, l'estensione può utilizzare l'API Chrome Web Store Publish. Esistono endpoint per la creazione di un nuovo elemento, l'aggiornamento di un elemento esistente e la pubblicazione di un elemento.

Di seguito è riportato un elenco di considerazioni relative all'utilizzo dell'API Publish:

Scopri di più sull'API Chrome Web Store Publish qui.

Caricamento di un pacchetto per creare un nuovo articolo dello store

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

Digita l'esempio seguente nella riga di 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

Caricamento di un pacchetto per aggiornare un articolo dello store esistente

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 è l'ID dell'articolo del Web Store esistente.

> 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

Pubblicazione di un elemento per il pubblico

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

Pubblicazione di un elemento per i trusted tester

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

Controllo dello stato di caricamento di un elemento

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