Chrome Web Store Publish API verwenden

Überblick

Die Chrome Web Store Publish API bietet eine Reihe von REST-Endpunkten zum programmatischen Erstellen, Aktualisieren und Veröffentlichen von Elementen im Chrome Web Store.

Ersteinrichtung

Bevor Sie REST-Aufrufe an den Chrome Web Store ausführen können, müssen Sie die Chrome Web Store API aktivieren, Ihren OAuth-Zustimmungsbildschirm konfigurieren und Ihre API-Zugriffsschlüssel abrufen. Dieser Vorgang wird in den folgenden Abschnitten beschrieben.

Chrome Web Store API aktivieren

  1. Rufen Sie die Google Cloud Console auf.
  2. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus. Erstelle ein neues Projekt in der Google Console
  3. Geben Sie in die Suchleiste „Chrome Web Store API“ ein.
  4. Aktivieren Sie die Chrome Web Store API.

OAuth-Zustimmungsbildschirm konfigurieren

  1. Rufen Sie den OAuth-Zustimmungsbildschirm auf.
  2. Wählen Sie Extern und dann Erstellen aus. OAuth-Zustimmungsbildschirm erstellen
  3. Füllen Sie die unten aufgeführten Pflichtfelder aus und klicken Sie auf Speichern und fortfahren.
    • App-Name
    • E-Mail-Adresse des Nutzersupports.
    • E-Mail-Adresse des Entwicklers.
  4. Überspringen Sie Bereiche. Klicken Sie auf Speichern und dann auf Weiter.
  5. Fügen Sie Ihre E-Mail-Adresse zu Testnutzer hinzu, klicken Sie auf Speichern und dann auf Weiter.

Zugriffsschlüssel abrufen

  1. Gehen Sie zu Anmeldedaten.
  2. Klicken Sie auf Anmeldedaten erstellen und dann auf OAuth-Client-ID. Anmeldedaten erstellen
  3. Wählen Sie als Anwendungstyp die Option Desktop-App aus.
  4. Geben Sie einen Namen ein und klicken Sie auf Erstellen.

In der Konsole werden die Client-ID und der Clientschlüssel bereitgestellt.

OAuth-Anwendung testen

Sie können ein Zugriffstoken für die Arbeit mit der API abrufen. Geben Sie beispielsweise die folgende URL in Ihren Browser ein und ersetzen Sie dabei $CLIENT_ID durch die ID für Ihre Anwendung:

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 

Sie werden auf einer Seite aufgefordert, die Berechtigung für den angeforderten Bereich zu akzeptieren.

Benutzeroberfläche zur Berechtigungsanfrage

Klicken Sie auf Akzeptieren und kopieren Sie den Code. Die Ausgabe sollte ungefähr so aussehen:

Benutzeroberfläche zum Kopieren von Code

Verwenden Sie diesen Wert, um ein Zugriffstoken anzufordern. Wenn Sie beispielsweise curl verwenden, können Sie ein Zugriffstoken abrufen, indem Sie den folgenden Befehl ausführen. Dabei ersetzen Sie die Werte von $CLIENT_ID, $CLIENT_SECRET und $CODE durch die oben angegebenen Werte:

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

Dadurch wird ein Ergebnis wie dieses zurückgegeben:

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

Sie können jetzt die access_token verwenden, um die API aufzurufen. Sie können das Aktualisierungstoken auch verwenden, um zukünftige Zugriffstokens abzurufen. Tokens laufen nach einer Stunde ab.

API verwenden

Sobald Sie ein Zugriffstoken haben, kann Ihre Erweiterung die Chrome Web Store Publish API verwenden. Es gibt Endpunkte, mit denen neue Elemente erstellt, vorhandene Elemente aktualisiert und veröffentlicht werden können.

Im Folgenden finden Sie eine Liste mit Überlegungen zur Verwendung der Publish API:

Weitere Informationen zur Chrome Web Store Publish API

Paket hochladen, um einen neuen Store-Artikel zu erstellen

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 

Geben Sie das folgende Beispiel in die Befehlszeile ein:

> 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 

Paket hochladen, um einen vorhandenen Artikel im Store zu aktualisieren

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“ ist die ID des vorhandenen Web Store-Artikels.

> 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 

Veröffentlichen eines Artikels

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 

Artikel für Trusted Tester veröffentlichen

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 

Uploadstatus eines Elements prüfen

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