Autoryzowanie żądań do annotatePaths
wymaga konta usługi umieszczonego na liście dozwolonych powiązanego projektu Google Cloud. Następnie możesz przyjąć tożsamość konta usługi i wygenerować token OAuth, który będzie przekazywany jako nagłówek w żądaniach.
skonfigurować konto usługi,
Tylko konta usługi znajdujące się na liście dozwolonych mogą wywoływać annotatePaths
, dlatego musisz działać jako konto usługi przez przejęcie tożsamości konta usługi.
Wykonaj instrukcje opisane w artykule Tworzenie konta usługi. Adres e-mail konta usługi ma taki ogólny format:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Wyślij e-maila przypisanego do konta usługi swojemu przedstawicielowi biznesowemu Google. Przedstawiciel dodaje to konto usługi do listy dozwolonych mające uprawnienia do wywoływania
annotatePaths
.
Dodaj użytkowników, którzy mogą przyjmować tożsamość konta usługi
Dodaj użytkownika, który ma uprawnienia do podszywania się pod inne osoby na koncie usługi:
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT \
--member=user:USER_EMAIL \
--role=roles/iam.serviceAccountTokenCreator \
--project=PROJECT_ID
Możesz też dodać użytkowników upoważnionych do przyjmowania tożsamości konta usługi za pomocą konsoli Google Cloud. Zobacz Tworzenie konta usługi.
Rozwiązywanie problemów w przypadku niepowodzenia wykonania polecenia
Jeśli to polecenie nie powiedzie się, poproś właściciela projektu, aby wykonał je za Ciebie lub przypisał Ci rolę roles/iam.serviceAccountAdmin
na koncie usługi, wykonując te polecenie:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT \ --member=USER_EMAIL \ --role=roles/iam.serviceAccountAdmin \ --project=PROJECT_ID
Generowanie tokena OAuth o ograniczonym czasie funkcjonowania
Jeśli chcesz skonfigurować annotatePaths
przy użyciu tokena OAuth, ale nie masz skonfigurowanego środowiska do generowania tokenów, wykonaj procedurę opisaną w tej sekcji, aby uzyskać token OAuth o ograniczonym czasie ważności za pomocą gcloud CLI. (Token wygasa po godzinie). Więcej informacji znajdziesz w artykule Tworzenie danych logowania o ograniczonym czasie ważności dla konta usługi. Poniższe instrukcje są skróconym omówieniem tych instrukcji.
Zaloguj się w gcloud:
gcloud auth login
gcloud otwiera okno przeglądarki i wyświetla prośbę o przyznanie uprawnień.
Skonfiguruj projekt:
gcloud config set project PROJECT_ID
Uzyskiwanie krótkotrwałego tokena dostępu za pomocą tokena dostępu do wydruku:
gcloud auth print-access-token
To polecenie zwraca token. Skopiuj token i wstaw go w polu YOUR_ACCESS_TOKEN za pomocą tego polecenia:
curl -X POST \ https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
Interfejs wiersza poleceń zwraca token dostępu OAuth o ograniczonym czasie ważności, którego możesz teraz używać podczas wysyłania żądań do
annotatePaths
.
(Opcjonalnie) Sprawdzanie uprawnień tokena OAuth
Jeśli wystąpią problemy z autoryzacją, możesz sprawdzić uprawnienia tokena OAuth, wstawiając token do poniższego adresu URL i dostosowując OAUTH_TOKEN. (wklej go na pasku adresu).
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
Odpowiedź powinna zawierać zakres https://www.googleapis.com/auth/cloud-platform
. Jeśli nie, sprawdź, czy zakres jest ustawiony prawidłowo, jak pokazano w poprzedniej sekcji.
Używanie protokołu OAuth w środowiskach produkcyjnych
Instrukcje korzystania z OAuth w środowisku produkcyjnym znajdziesz w artykule Uwierzytelnianie w Google.
Rozwiązywanie problemów
Jeśli żądanie zwraca komunikat o błędzie informujący o tym, że dane logowania użytkownika nie są obsługiwane przez ten interfejs API, przeczytaj sekcję Dane logowania użytkownika nie działają.