Utilizzare OAuth

L'API di gestione delle mappe supporta l'utilizzo di OAuth 2.0 per l'autenticazione. Google supporta gli scenari OAuth 2.0 più comuni, come quelli per un server web.

Questo documento descrive come passare un token OAuth alla chiamata API di gestione delle mappe nel tuo ambiente di sviluppo. Per istruzioni sull'utilizzo di OAuth in un ambiente di produzione, consulta Autenticazione in Google.

Prima di iniziare

Prima di iniziare a utilizzare l'API Map Management, devi avere un progetto con un account di fatturazione e l'API Map Management abilitata. Per saperne di più, consulta Configura nella console Cloud.

Informazioni su OAuth

Puoi creare e gestire i token di accesso con OAuth in diversi modi, a seconda dell'ambiente di deployment.

Ad esempio, il sistema Google OAuth 2.0 supporta le interazioni server-to-server, come quelle tra la tua applicazione e un servizio Google. Per questo scenario, hai bisogno di un service account. Questo account appartiene alla tua applicazione anziché a un singolo utente. La tua applicazione chiama le API di Google per conto del service account perché gli utenti non sono direttamente coinvolti. Per saperne di più sui metodi di autenticazione, consulta Autenticazione in Google.

In alternativa, puoi utilizzare l'API di gestione delle mappe come parte di un'app mobile Android o iOS. Per ulteriori informazioni sull'utilizzo di OAuth con l'API di gestione delle mappe, incluse informazioni sulla gestione dei token di accesso per diversi ambienti di deployment, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.

Informazioni sugli ambiti OAuth

Per utilizzare OAuth con l'API di gestione delle mappe, il token OAuth deve avere l'ambito https://www.googleapis.com/auth/cloud-platform.

Prova le chiamate API REST nel tuo ambiente di sviluppo locale

Se vuoi provare l'API di gestione delle mappe utilizzando un token OAuth, ma non hai un ambiente configurato per generare token, puoi utilizzare la procedura descritta in questa sezione per effettuare la chiamata.

Questo esempio descrive come utilizzare il token OAuth fornito dalle Credenziali predefinite dell'applicazione (ADC) per effettuare la chiamata. Per saperne di più sull'utilizzo di ADC per chiamare le API di Google con le librerie client, consulta Autenticati utilizzando le librerie client.

Prerequisiti

Prima di poter effettuare una richiesta REST utilizzando ADC, utilizza Google Cloud CLI per fornire le credenziali ad ADC:

  1. Se non l'hai ancora fatto, crea un progetto e abilita la fatturazione seguendo i passaggi descritti in Configura nella console Cloud.
  2. Installa e inizializza gcloud CLI.
  3. Per creare il file delle credenziali, esegui il comando gcloud sulla tua macchina locale:

    gcloud auth application-default login
  4. Quando richiesto, accedi. Dopo aver eseguito l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC.

Per saperne di più, consulta la sezione Ambiente di sviluppo locale della documentazione Fornisci credenziali per Credenziali predefinite dell'applicazione.

Effettua una richiesta REST

In questo esempio, passi due intestazioni della richiesta:

  • Passa il token OAuth nell'intestazione Authorization utilizzando il seguente comando per generare il token:

    gcloud auth application-default print-access-token

    Il token restituito ha un ambito di https://www.googleapis.com/auth/cloud-platform.

  • Passa l'ID o il nome del tuo progetto cloud Google Cloud con la fatturazione abilitata nell'intestazione X-Goog-User-Project. Per saperne di più, consulta Configura nella console Cloud.

Effettua una chiamata all'API di gestione delle mappe utilizzando un token OAuth:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://mapmanagement.googleapis.com/v2beta/projects/PROJECT_NUMBER_OR_ID/mapConfigs/

Risoluzione dei problemi

Se la richiesta restituisce un messaggio di errore che indica che le credenziali utente non sono supportate da questa API, consulta Le credenziali utente non funzionano.