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