Per autorizzare le richieste a annotatePaths
è necessario un account di servizio nella lista consentita per il progetto Google Cloud associato. Puoi quindi impersonare l'account di servizio e generare un token OAuth, che viene trasmesso come intestazione nelle richieste.
Configurare un account di servizio
Poiché solo gli account di servizio nella lista consentita sono autorizzati a chiamare annotatePaths
, devi agire in qualità di account di servizio tramite il furto dell'identità degli account di servizio.
Segui le istruzioni riportate in Creare un account di servizio. L'indirizzo email dell'account di servizio ha il seguente formato generale:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Invia l'email dell'account di servizio al tuo rappresentante aziendale Google. Il tuo rappresentante aggiunge questo account di servizio a una lista consentita autorizzata a chiamare
annotatePaths
.
Aggiungi utenti che possono impersonare l'account di servizio
Aggiungi un utente autorizzato a impersonare l'account di servizio:
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT \
--member=user:USER_EMAIL \
--role=roles/iam.serviceAccountTokenCreator \
--project=PROJECT_ID
Puoi anche aggiungere utenti autorizzati a impersonare l'account di servizio tramite la console Cloud. Vedi Creare un account di servizio.
Risolvere i problemi relativi al comando non riuscito
Se questo comando non riesce, chiedi a un proprietario del progetto di eseguirlo per te o di concederti il ruolo roles/iam.serviceAccountAdmin
nell'account di servizio eseguendo:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT \ --member=USER_EMAIL \ --role=roles/iam.serviceAccountAdmin \ --project=PROJECT_ID
Generare un token OAuth di breve durata
Se vuoi configurare annotatePaths
utilizzando un token OAuth, ma non hai
una configurazione di ambiente per generare token, segui la procedura descritta in questa sezione
per ottenere un token OAuth di breve durata utilizzando gcloud CLI. (Il token scade dopo un'ora.) Per maggiori dettagli, vedi Creare credenziali di breve durata per un account di servizio. I passaggi che seguono sono una visualizzazione abbreviata di queste istruzioni.
Accedi a gcloud:
gcloud auth login
gcloud apre una finestra del browser e richiede l'autorizzazione.
Imposta il progetto:
gcloud config set project PROJECT_ID
Ottieni un token di accesso di breve durata utilizzando print-access-token:
gcloud auth print-access-token
Questo comando restituisce un token. Copia il token e inseriscilo in YOUR_ACCESS_TOKEN nel comando seguente:
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"}'
L'interfaccia a riga di comando restituisce il token di accesso OAuth di breve durata che ora puoi utilizzare per creare richieste a
annotatePaths
.
(Facoltativo) Controllare le autorizzazioni del token OAuth
Se si verificano problemi di autorizzazione, puoi verificare le autorizzazioni del token OAuth inserendo il token nel seguente URL, personalizzando OAUTH_TOKEN. (Incollalo nella barra degli indirizzi).
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
La risposta deve includere un ambito di
https://www.googleapis.com/auth/cloud-platform
. In caso contrario, assicurati di
impostare correttamente l'ambito, come mostrato nella sezione precedente.
Utilizzare OAuth in ambienti di produzione
Per istruzioni sull'utilizzo di OAuth in un ambiente di produzione, consulta Autenticazione a Google.
Risoluzione dei problemi
Se la richiesta restituisce un messaggio di errore relativo alle credenziali dell'utente finale non supportate da questa API, consulta Credenziali utente non funzionanti.