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
- Vai alla console Google Cloud.
- Crea un nuovo progetto o selezionane uno esistente.
- Nella barra di ricerca, digita "API Chrome Web Store".
- Attiva l'API Chrome Web Store.
Configura la schermata per il consenso OAuth
- Vai a Schermata consenso OAuth.
- Seleziona External (Esterno), quindi Create (Crea).
- 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.
- Ignora ambiti. Fai clic su Salva e poi su Continua.
- Aggiungi il tuo indirizzo email a Utenti di test, quindi fai clic su Salva e poi su Continua.
Recuperare le chiavi di accesso
- Vai a Credenziali.
- Fai clic su Crea credenziali, quindi su ID client OAuth.
- Per Tipo di applicazione, scegli App desktop.
- 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.
Fai clic su Accetta e copia il codice. Il sito dovrebbe avere il seguente aspetto:
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:
- Gli sviluppatori sono tenuti ad attivare la verifica in due passaggi per consentire al loro Account Google di pubblicare o aggiornare un'estensione esistente.
- Prima di poter pubblicare un nuovo articolo, devi compilare le schede Scheda dello Store e Norme di tutela della privacy nella Dashboard per sviluppatori.
- Dopo la pubblicazione, un elemento nuovo o esistente viene sottoposto a una procedura di revisione. Per ulteriori informazioni, consulta la procedura di revisione.
- Per rilasciare un aggiornamento, aumenta il numero nel campo version del manifest.
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