Utilizzare OAuth

L'API Places (nuova) supporta l'utilizzo di OAuth 2.0 per l'autenticazione. Google supporta scenari OAuth 2.0 comuni, come quelli per un server web.

Questo documento descrive come passare un token OAuth alla chiamata API Places (nuova) nel tuo di sviluppo. Per istruzioni su come utilizzare OAuth in un ambiente di produzione, consulta Autenticazione in 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. Ti consigliamo di creare più proprietà e amministratori della fatturazione, in modo da avere sempre a disposizione persone con questi ruoli per il tuo team. Per scoprire di più, consulta Configurazione in Cloud Console.

Informazioni su OAuth

Esistono molti modi per creare e gestire i token di accesso con OAuth in base all'ambiente di implementazione.

Ad esempio, il sistema OAuth 2.0 di Google supporta le interazioni server-to-server, ad esempio quelle tra la tua applicazione e un servizio Google. Per questo scenario è necessario un account di servizio, è un account che appartiene alla tua applicazione anziché a un singolo utente finale. L'applicazione chiama le API di Google per conto dell'account di servizio, quindi gli utenti non sono direttamente coinvolti. Per ulteriori informazioni sui metodi di autenticazione, consulta Autenticazione su 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 di accesso ai token 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 la nuova API Places, al token OAuth deve essere assegnato l'ambito:

  • https://www.googleapis.com/auth/cloud-platform

Esempio: prova le chiamate all'API REST nel tuo ambiente di sviluppo locale

Se vuoi provare l'API Places (novità) utilizzando un token OAuth, ma non disponi di un ambiente per generare i token, puoi utilizzare la procedura di 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 dell'ADC per chiamare le API di Google utilizzando le librerie client, consulta Eseguire l'autenticazione 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 attiva la fatturazione seguendo i passaggi descritti in Configurazione nella console Google Cloud.
  2. Installa e inizializza l'interfaccia a riga di comando gcloud.
  3. Esegui questo comando gcloud sulla tua macchina locale per creare file delle credenziali:

    gcloud auth application-default login
  4. Viene visualizzata una schermata di accesso. Dopo aver effettuato l'accesso, le tue credenziali vengono memorizzate nella file delle credenziali locali utilizzato da ADC.

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

Effettua una richiesta REST

In questo esempio, vengono passati due intestazioni di richiesta:

  • Trasmetti il token OAuth nell'intestazione Authorization utilizzando quanto segue. 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.

  • Trasmetti l'ID o il nome del tuo progetto Google Cloud con fatturazione abilitata nel Intestazione X-Goog-User-Project. Per scoprire di più, consulta Configurazione in Cloud Console.

Nell'esempio seguente viene effettuata una chiamata all'API Places (nuova) 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 tua richiesta restituisce un messaggio di errore che indica che le credenziali dell'utente finale non sono supportate da questa API, consulta Credenziali utente non funzionanti.