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