Utilizzare OAuth

L'API Places Insights supporta l'utilizzo di OAuth 2.0 per l'autenticazione. Google supporta gli scenari OAuth 2.0 comuni, ad esempio quelli per un server web.

Questo documento descrive come passare un token OAuth alla chiamata dell'API di Dati dei luoghi nel tuo ambiente 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 Insights, devi avere un progetto con un account di fatturazione e l'API Places Insights abilitata. Ti consigliamo di creare più proprietà del progetto e amministratori della fatturazione, in modo da avere sempre a disposizione qualcuno 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, ossia un account che appartiene all'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 Insights all'interno di un'app mobile per Android o iOS. Per informazioni generali sull'utilizzo di OAuth con l'API Places Insights, incluse informazioni sulla gestione degli access token per diversi ambienti di implementazione, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.

Informazioni sugli ambiti OAuth

Per utilizzare OAuth con l'API Places Insights, 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 Insights 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 dalle 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 le credenziali predefinite dell'applicazione, utilizza Google Cloud CLI per fornire le credenziali alle credenziali predefinite dell'applicazione:

  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 la gcloud CLI.
  3. Esegui il seguente comando gcloud sulla tua macchina locale per creare il file delle credenziali:

    gcloud auth application-default login
  4. Viene visualizzata una schermata di accesso. Dopo l'accesso, le credenziali vengono memorizzate nel 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:

  • 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 progetto Google Cloud per cui è attivata la fatturazione nell'X-Goog-User-Project intestazione. Per scoprire di più, consulta Configurazione in Cloud Console.

Il seguente esempio effettua una chiamata all'API Places Insights utilizzando un token OAuth:

curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \
-H "Authorization: Bearer $TOKEN" \
--data '{
   "insights":[
      "INSIGHT_COUNT"
   ],
   "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
   }
}'

Risoluzione dei problemi

Se la richiesta restituisce un messaggio di errore relativo al fatto che le credenziali dell'utente finale non sono supportate da questa API, consulta Credenziali utente non funzionanti.