Korzystanie z konta usługi w interfejsie Chrome Web Store API

Interfejs Chrome Web Store API obsługuje uwierzytelnianie za pomocą kont usługi Google Cloud. Konta usługi to specjalne konta niepowiązane z osobami, które są przeznaczone do interakcji między serwerami. Dzięki temu idealnie nadają się do automatyzacji procesów publikowania rozszerzeń, np. w potokach CI/CD lub innych usługach backendu. Mogą one zezwalać na korzystanie z interfejsu API bez konieczności przechodzenia przez proces OAuth z bezpośrednim udziałem użytkownika.

Łącząc konto usługi z panelem dewelopera Chrome Web Store, przyznajesz mu uprawnienia do zarządzania elementami należącymi do Twojego konta wydawcy.

Konfiguracja

Najpierw skonfigurujemy konto usługi i przyznamy mu dostęp do interfejsu Chrome Web Store API.

Włączanie interfejsu Chrome Web Store API

  1. Otwórz konsolę Google Cloud.
  2. Utwórz nowy projekt lub wybierz już utworzony.
    Utwórz nowy projekt w konsoli Google.
    Utwórz nowy projekt w konsoli Google.
  3. W pasku wyszukiwania wpisz „Chrome Web Store API”.
  4. Włącz Chrome Web Store API.

Tworzenie konta usługi

Dodawanie nowego konta usługi w konsoli Google Cloud.
Dodawanie nowego konta usługi w konsoli Google Cloud

Utwórz konto usługi w konsoli Google Cloud. Na tym etapie nie musisz dodawać żadnych uprawnień do konta usługi.

Dodawanie konta usługi w Panelu dewelopera

Dodawanie nowego konta usługi w Panelu dewelopera.
Dodawanie nowego konta usługi w Panelu dewelopera

Przyznaj kontu usługi dostęp do interfejsu Chrome Web Store API, dodając adres e-mail konta usługi w sekcji Konto w panelu dewelopera.

Uzyskiwanie tokenów dostępu

Aby używać konta usługi z interfejsem Chrome Web Store API, aplikacja musi uzyskać token dostępu powiązany z tym kontem. Możesz to zrobić na kilka sposobów, w zależności od tego, gdzie jest uruchamiany kod aplikacji, i od preferencji dotyczących bezpieczeństwa.

Przejęcie tożsamości konta usługi

Za pomocą narzędzia wiersza poleceń gcloud możesz uzyskać krótkotrwały token dostępu dla konta usługi. Jest to często używane w przypadku lokalnego programowania lub dostępu do interfejsu wiersza poleceń.

gcloud auth login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud config set project PROJECT_ID
gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT_EMAIL --scopes=https://www.googleapis.com/auth/chromewebstore
ACCESS_TOKEN=<The output from the last command>

Następnie wysyłaj żądania zgodnie z instrukcjami podanymi w samouczku.

Używanie tokena internetowego JSON

Możesz też uwierzytelnić się bezpośrednio przez HTTP za pomocą tokena internetowego JSON (JWT). Utwórz klucz JSON dla konta usługi w konsoli Google Cloud.

Okno tworzenia klucza w konsoli Google Cloud.
Okno tworzenia klucza w konsoli Google Cloud.

Następnie wykonaj kroki, aby utworzyć token JWT i wymienić go na token dostępu.