Configura l'API Places Aggregate

Questo documento descrive i passaggi necessari per iniziare a utilizzare l'API Places Aggregate.

Prerequisiti

Questa procedura ti guida nella configurazione di un account Google Cloud e di un progetto cloud Google con la fatturazione abilitata. Dovresti anche avere familiarità con il modo in cui ti vengono addebitati i costi per l'utilizzo dell'API Places Aggregate.

  1. Esamina la fatturazione e i costi per l'utilizzo in Utilizzo e fatturazione dell'API Places Aggregate.
  2. Verifica di avere un account Google Cloud.

    Accedi alla console Google Cloud
  3. Verifica di avere un progetto Google Cloud con la fatturazione abilitata.

    Vai alla pagina Fatturazione
    1. Seleziona il tuo progetto per aprire la pagina Fatturazione.
    2. Nella pagina Fatturazione:

      • Se la fatturazione è già abilitata per il progetto selezionato e hai un solo account di fatturazione, si apre la pagina Fatturazione.
      • Se hai più account di fatturazione, seleziona Vai all'account di fatturazione collegato per visualizzare i dettagli dell'account di fatturazione associato al progetto.
      • Se esiste un account di fatturazione, ma non è associato al progetto, ti verrà chiesto di collegare un account di fatturazione al progetto.
      • Se non esiste un account di fatturazione o se vuoi crearne uno nuovo, seleziona Gestisci account di fatturazione per creare un nuovo account di fatturazione. Per saperne di più, consulta Crea un nuovo account di fatturazione Cloud self-service.

Abilita l'API

Prima di poter utilizzare l'API Places Aggregate, devi utilizzare la console Google Cloud o il comando gcloud per abilitarla nel tuo progetto Google Cloud.

Per abilitare l'API:

Console

  1. Apri la pagina di prodotto nella console Google Cloud:

    Abilita l'API Places Aggregate
  2. Fai clic sul pulsante Abilita.

gcloud

gcloud services enable \
    --project "PROJECT" \
    "areainsights.googleapis.com"

Scopri di più su Google Cloud SDK, sull'installazione di Cloud SDK e sui seguenti comandi:

Ottieni una chiave API da utilizzare con l'API Places Aggregate

I prodotti Google Maps Platform sono protetti dall'utilizzo non autorizzato richiedendo che le chiamate API includano una chiave API o un token OAuth. La procedura per la chiave API è la prima. Per utilizzare un token OAuth, consulta Crea un token OAuth.

Una chiave API è una stringa alfanumerica univoca che associa il tuo account di fatturazione Cloud e il tuo progetto cloud Google Cloud alla richiesta effettuata dalla tua applicazione a un'API o un SDK di Google Maps Platform. Per creare una nuova chiave o aggiungere un'API o un SDK a una chiave esistente, segui queste istruzioni.

Console

  1. Vai alla pagina Google Maps Platform > Chiavi e credenziali.

    Vai alla pagina Chiavi e credenziali

  2. Se richiesto, seleziona il progetto.
  3. Procedi in uno dei seguenti modi:

    • Crea una nuova chiave:

      1. Fai clic su Crea credenziali > Chiave API.
      2. Nel riquadro Crea chiave API, apri l'elenco Seleziona limitazioni dell'API.
      3. Cancella tutte le API di cui questa chiave non ha bisogno e assicurati che l'API Places Aggregate rimanga selezionata.
      4. Fai clic su Crea. Nel riquadro viene visualizzata la nuova chiave API.
    • Utilizza una chiave esistente:

      1. Fai clic sul nome della chiave.
      2. Nell'elenco Seleziona limitazioni dell'API, seleziona Places Aggregate API.
      3. Fai clic su Salva.

    La selezione di un'API qui non la abilita. Assicurati che l'API Places Aggregate sia abilitata nella pagina della libreria API.

  4. Per visualizzare la stringa della chiave in un secondo momento, vai alla pagina Chiavi e credenziali e fai clic su Mostra chiave per la chiave.

Se la console ha un aspetto diverso da questi passaggi, consulta Crea una chiave API e Aggiungi limitazioni API nella documentazione di Google Cloud.

gcloud

Sostituisci PROJECT_ID con l'ID progetto nei comandi seguenti.

  • Crea una nuova chiave: esegui il comando seguente e sostituisci DISPLAY_NAME con un nome per la chiave.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=areainsights.googleapis.com

    Scopri di più su Google Cloud SDK, sull'installazione di Cloud SDK e sui seguenti comandi:

  • Utilizza una chiave esistente: esegui il comando seguente e sostituisci KEY_ID con l'ID della chiave. Il flag --append mantiene le API già consentite dalla chiave. In caso contrario, il comando le sostituisce.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=areainsights.googleapis.com

    Scopri di più su Google Cloud SDK, sull'installazione di Cloud SDK e sui seguenti comandi:

    L'ID chiave non è la stringa della chiave o il nome visualizzato. Per trovarlo, esegui gcloud services api-keys list --project="PROJECT_ID". L'ID è l'ultima parte del campo name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

Per visualizzare la stringa della chiave, esegui gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Effettua una richiesta API

Questo esempio mostra una richiesta per restituire il numero di ristoranti a San Francisco con prezzi moderati.

  1. Fai clic su API_KEY nel codice di seguito per inserire la stringa alfanumerica della chiave:

    curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
    --header 'X-Goog-Api-Key: API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
       "insights":[
          "INSIGHT_COUNT"
       ],
       "filter":{
          "locationFilter":{
             "region":{
                "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
             }
          },
          "typeFilter":{
             "includedTypes":[
                "restaurant"
             ]
          },
          "priceLevels":[
             "PRICE_LEVEL_INEXPENSIVE"
          ]
       }
    }'
    
  2. Fai clic sull'icona di copia nell'esempio di codice, Seleziona l'icona di copia., per copiare il comando curl.
  3. Incolla il comando in una finestra del terminale ed eseguilo.

La risposta è un oggetto JSON nel formato:

{
  "count": "1025"
}

Applica le limitazioni relative alle chiavi API

Google consiglia vivamente di limitare le chiavi API limitandone l'utilizzo solo alle API e alle app che ne hanno bisogno. La limitazione delle chiavi API aggiunge sicurezza alla tua applicazione proteggendola da richieste ingiustificate. Le chiavi API supportano due tipi di limitazioni:

  • Le restrizioni delle API specificano quali SDK e API possono essere chiamati utilizzando la chiave API. La console e gcloud CLI richiedono almeno una restrizione API quando crei una chiave.
  • Le restrizioni delle applicazioni specificano i siti web, gli indirizzi IP o le app che possono utilizzare una chiave API.

Per saperne di più sull'applicazione delle limitazioni, consulta Limita le chiavi API.

Crea un token OAuth

L'API Places Aggregate supporta OAuth 2.0 per l'autenticazione. Google supporta scenari OAuth 2.0 comuni, ad esempio per un server web.

Questo documento descrive come passare un token OAuth a una chiamata API Places Aggregate nel tuo ambiente di sviluppo. Per saperne di più sull'utilizzo di OAuth in un ambiente di produzione, consulta Metodi di autenticazione di Google.

Puoi chiamare le API di Google Maps direttamente inviando richieste API al server oppure puoi utilizzare le librerie client per semplificare il codice. Google Maps fornisce librerie client per Go, Java, Node.js e Python. Per saperne di più, consulta Librerie client dell'API Places Aggregate.

Panoramica di OAuth

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

Puoi utilizzare OAuth 2.0 per le interazioni server-to-server tra la tua applicazione e un servizio Google. Per questo scenario, utilizzi un service account associato alla tua applicazione anziché a un singolo utente. Puoi effettuare richieste API utilizzando il service account senza coinvolgere direttamente gli utenti. Per saperne di più sui metodi di autenticazione, consulta Metodi di autenticazione di Google.

In alternativa, puoi integrare l'API Places Aggregate in un'app mobile Android o iOS. Per saperne di più sull'utilizzo di OAuth e sulla gestione dei token di accesso per diversi ambienti di deployment, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.

Ambiti OAuth

Per utilizzare OAuth con l'API Places Aggregate, devi assegnare al token OAuth il seguente ambito:

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

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

Se non hai un ambiente che genera token e vuoi provare l'API Places Aggregate con un token OAuth, utilizza la procedura descritta in questa sezione.

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.

Utilizza la seguente procedura REST solo per lo sviluppo o i test, non per la produzione.

Prerequisiti

Prima di effettuare una richiesta REST utilizzando ADC, utilizza l'interfaccia a riga di comando gcloud per fornire le credenziali ad ADC:

  1. Installa e inizializza l'interfaccia a riga di comando gcloud. Per saperne di più, consulta Installa gcloud CLI.

  2. Esegui l'autenticazione con l'interfaccia a riga di comando gcloud:

    gcloud auth application-default login
  3. Completa la procedura di accesso per salvare le tue credenziali nel file delle credenziali locali utilizzato da ADC.

Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale.

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 chiamare l'API Places Aggregate utilizzando un token OAuth, completa i seguenti passaggi:

  1. Nel seguente esempio di codice, sostituisci PROJECT_NUMBER_OR_ID con il numero o l'ID del tuo progetto Google Cloud.

    Questo esempio mostra una richiesta per restituire il numero di ristoranti a San Francisco con prezzi moderati:

    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 $(gcloud auth application-default print-access-token)" \
    --data '{
    "insights":[
      "INSIGHT_COUNT"
    ],
    "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
    }
    }'
  2. Per copiare il comando curl, fai clic su Copia nell'esempio di codice.

  3. Incolla il comando in una finestra del terminale, quindi eseguilo.

La risposta è un oggetto JSON:

{
  "count": "1025"
}

Risoluzione dei problemi

Se la richiesta restituisce un messaggio di errore che indica che questa API non supporta le credenziali dell'utente finale, consulta Risolvi i problemi di configurazione di ADC.

Passaggi successivi

Ora che hai abilitato l'API Places Aggregate e inviato una richiesta con esito positivo, consulta Invia la tua prima richiesta per scoprire di più sull'utilizzo dell'API.