Użyj protokołu OAuth (Automotive)

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.

  1. 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
    
  2. 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.

  1. Zaloguj się w gcloud:

    gcloud auth login
    

    gcloud otwiera okno przeglądarki i wyświetla prośbę o przyznanie uprawnień.

  2. Skonfiguruj projekt:

    gcloud config set project PROJECT_ID
    
  3. 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ą.