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