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
- Otwórz Google Cloud Console.
- Utwórz nowy projekt lub wybierz już istniejący.
- Na pasku wyszukiwania wpisz „Chrome Web Store API”.
- Włącz Chrome Web Store API.
Konfigurowanie ekranu zgody OAuth
- Otwórz ekran zgody OAuth.
- Kliknij Zewnętrzny, a potem Utwórz.
- 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.
- Pomiń zakresy. Kliknij Zapisz, a następnie Dalej.
- Dodaj swój adres e-mail do sekcji Użytkownicy testowi, a następnie kliknij Zapisz i Dalej.
Uzyskiwanie kluczy dostępu
- Otwórz Dane logowania.
- Kliknij Utwórz dane logowania, a potem Identyfikator klienta OAuth.
- Jako Typ aplikacji wybierz Aplikacja komputerowa.
- 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.
Kliknij Zaakceptuj i skopiuj kod. Powinna wyglądać mniej więcej tak:
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:
- Aby móc publikować lub aktualizować istniejące rozszerzenie, deweloperzy muszą włączyć na swoim koncie Google weryfikację dwuetapową.
- Zanim opublikujesz nowy produkt, musisz wypełnić pola Informacje o aplikacji i Procedury ochrony prywatności w Panelu dewelopera.
- Gdy opublikujesz nowy lub istniejący produkt, zostanie on sprawdzony. Więcej informacji znajdziesz w sekcji Proces sprawdzania.
- Aby opublikować aktualizację, zwiększ liczbę w polu version pliku manifestu.
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