Używanie interfejsu Chrome Web Store Publish API

Opis

Interfejs Chrome Web Store Publish API udostępnia zestaw punktów końcowych REST do programowego tworzenia, aktualizowania i publikowania elementów w Chrome Web Store.

Konfiguracja początkowa

Zanim zaczniesz wykonywać wywołania REST w sklepie Chrome Web Store, musisz włączyć interfejs Chrome Web Store API, skonfigurować ekran zgody OAuth i pobrać klucze dostępu interfejsu API. Ten proces znajdziesz w sekcjach poniżej.

Włączanie interfejsu Chrome Web Store API

  1. Otwórz Google Cloud Console.
  2. Utwórz nowy projekt lub wybierz już istniejący. Utwórz nowy projekt w Google Console
  3. Na pasku wyszukiwania wpisz „Chrome Web Store API”.
  4. Włącz Chrome Web Store API.

Konfigurowanie ekranu zgody OAuth

  1. Otwórz ekran zgody OAuth.
  2. Kliknij Zewnętrzny, a potem Utwórz.Utwórz ekran zgody OAuth
  3. Wypełnij wymagane pola Informacje o aplikacji (wymienione poniżej), a potem kliknij Zapisz i kontynuuj.
    • Nazwa aplikacji.
    • Adres e-mail zespołu pomocy.
    • Kontaktowy adres e-mail dewelopera.
  4. Pomiń zakresy. Kliknij Zapisz, a następnie Dalej.
  5. Dodaj swój adres e-mail do sekcji Użytkownicy testowi, a następnie kliknij Zapisz i Dalej.

Uzyskiwanie kluczy dostępu

  1. Otwórz Dane logowania.
  2. Kliknij Utwórz dane logowania, a potem Identyfikator klienta OAuth. Utwórz dane logowania
  3. Jako Typ aplikacji wybierz Aplikacja komputerowa.
  4. Wpisz nazwę i kliknij Utwórz.

Konsola udostępni identyfikator klienta i tajny klucz klienta.

Testowanie aplikacji OAuth

Możesz pobrać token dostępu, aby móc pracować z interfejsem API. Na przykład wpisz ten URL w przeglądarce, zastępując $CLIENT_ID adresem powiązanym z Twoją aplikacją:

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

Wyświetli się strona z prośbą o zaakceptowanie uprawnień dla żądanego zakresu.

Prośba o zgodę
Interfejs

Kliknij Zaakceptuj i skopiuj kod. Powinna wyglądać mniej więcej tak:

Interfejs do kopiowania kodu

Za pomocą tej wartości zażądać tokena dostępu. Na przykład korzystając z curl, możesz uzyskać token dostępu, wykonując poniższe polecenie (zastępując wartości $CLIENT_ID, $CLIENT_SECRET i $CODE wartościami podanymi powyżej):

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

Zwrócony zostanie taki wynik:

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

Możesz teraz używać access_token do wywoływania interfejsu API. Możesz też użyć tokena odświeżania, aby uzyskać przyszłe tokeny dostępu. Pamiętaj, że tokeny wygasają po godzinie.

Korzystanie z interfejsu API

Gdy masz token dostępu, rozszerzenie może korzystać z interfejsu Chrome Web Store Publish API. Istnieją punkty końcowe służące do tworzenia nowego elementu, aktualizowania istniejącego i publikowania elementu.

Poniżej znajdziesz listę uwag na temat korzystania z interfejsu Publish API:

Więcej informacji o interfejsie Chrome Web Store Publish API znajdziesz tutaj.

Przesyłanie pakietu w celu utworzenia nowej pozycji w sklepie

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

Wpisz następujący przykład w wierszu poleceń:

> 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

Przesyłanie pakietu w celu zaktualizowania istniejącej pozycji w sklepie

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 to identyfikator istniejącego produktu w Chrome Web Store.

> 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

Publiczne publikowanie produktu

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

Publikowanie elementu dla zaufanych testerów

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

Sprawdzanie stanu przesyłania elementu

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