L'API Places (nuova) supporta l'utilizzo di OAuth 2.0 per l'autenticazione. Google supporta scenari OAuth 2.0 comuni, ad esempio quelli per un server web.
Questo documento descrive come passare un token OAuth alla chiamata (nuova) dell'API Places nel tuo ambiente di sviluppo. Per istruzioni sull'utilizzo di OAuth in un ambiente di produzione, consulta la sezione Autenticazione a Google.
Prima di iniziare
Prima di iniziare a utilizzare l'API Places (nuova), devi avere un progetto con un account di fatturazione e l'API Places (nuova) abilitata. Consigliamo di creare più Proprietari di progetto e Amministratori di fatturazione, in modo da avere sempre a disposizione del team qualcuno con questi ruoli. Per saperne di più, vedi Eseguire la configurazione nella console Cloud.
Informazioni su OAuth
Esistono molti modi per creare e gestire i token di accesso con OAuth in base all'ambiente di deployment.
Ad esempio, il sistema OAuth 2.0 di Google supporta le interazioni server-to-server, come quelle tra la tua applicazione e un servizio Google. Per questo scenario è necessario un account di servizio, ovvero un account che appartiene all'applicazione anziché a un singolo utente finale. La tua applicazione chiama le API di Google per conto dell'account di servizio, in modo che gli utenti non siano coinvolti direttamente. Per ulteriori informazioni sui metodi di autenticazione, consulta la sezione Autenticazione a Google.
In alternativa, puoi utilizzare l'API Places (nuova) come parte di un'app mobile per Android o iOS. Per informazioni generali sull'utilizzo di OAuth con l'API Places (novità), incluse informazioni sulla gestione dei token di accesso per diversi ambienti di deployment, consulta Utilizzo di OAuth 2.0 per accedere alle API di Google.
Informazioni sugli ambiti OAuth
Per utilizzare OAuth con l'API Places (novità), devi assegnare al token OAuth l'ambito:
https://www.googleapis.com/auth/cloud-platform
Esempio: prova le chiamate API REST nel tuo ambiente di sviluppo locale
Se vuoi provare l'API Places (Nuova) utilizzando un token OAuth, ma non hai configurato un ambiente per generare token, puoi utilizzare la procedura descritta in questa sezione per effettuare la chiamata.
Questo esempio descrive come utilizzare il token OAuth fornito da Credenziali predefinite dell'applicazione (ADC) per effettuare la chiamata. Per informazioni sull'utilizzo di ADC per chiamare le API di Google utilizzando le librerie client, consulta Autenticazione con librerie client.
Prerequisiti
Prima di poter effettuare una richiesta REST utilizzando ADC, utilizza Google Cloud CLI per fornire le credenziali ad ADC:
- Se non lo hai già fatto, crea un progetto e abilita la fatturazione seguendo i passaggi descritti in Configurare la console Google Cloud.
- Installa e inizializza gcloud CLI.
Esegui questo comando
gcloud
sulla macchina locale per creare il file delle credenziali:gcloud auth application-default login
- Viene visualizzata una schermata di accesso. Dopo l'accesso, le tue credenziali vengono archiviate nel file delle credenziali locali utilizzato da ADC.
Per ulteriori informazioni, consulta la sezione Ambiente di sviluppo locale della documentazione relativa alla fornitura delle credenziali per le credenziali predefinite dell'applicazione.
crea una richiesta REST
In questo esempio, passi due intestazioni di richiesta:
Passa il token OAuth nell'intestazione
Authorization
utilizzando il seguente comando per generarlo:gcloud auth application-default print-access-token
L'ambito del token restituito è
https://www.googleapis.com/auth/cloud-platform.
- Passa l'ID o il nome del progetto Google Cloud con fatturazione abilitata nell'intestazione
X-Goog-User-Project
. Per scoprire di più, consulta Configurare nella console Cloud.
Nell'esempio seguente viene effettuata una chiamata all'API Places (Novità) utilizzando un token OAuth:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
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.