Questo documento descrive i passaggi necessari per iniziare a utilizzare l'API Places (nuova).
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 (nuova).
- Esamina la fatturazione e il costo per l'utilizzo in Utilizzo e fatturazione dell'API Places (nuova).
Verifica di avere un account Google Cloud.
Accedi alla console Google CloudVerifica di avere un progetto Google Cloud con la fatturazione abilitata.
Vai alla pagina Fatturazione- Seleziona il tuo progetto per aprire la pagina Fatturazione.
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 (nuova), devi abilitarla nel tuo progetto Google Cloud utilizzando la console Google Cloud o il comando gcloud.
Per abilitare l'API:
Console
Apri la pagina di prodotto nella console Google Cloud:
Abilita l'API Places (nuova)Fai clic sul pulsante Abilita.
gcloud
gcloud services enable \ --project "PROJECT" \ "places.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 (novità)
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
-
Vai alla pagina Google Maps Platform > Chiavi e credenziali.
- Se richiesto, seleziona il progetto.
-
Procedi in uno dei seguenti modi:
-
Crea una nuova chiave:
- Fai clic su Crea credenziali > Chiave API.
- Nel riquadro Crea chiave API, apri l'elenco Seleziona limitazioni dell'API.
- Cancella tutte le API che non sono necessarie per questa chiave e assicurati che l'API Places (novità) rimanga selezionata.
- Fai clic su Crea. Nel riquadro viene visualizzata la nuova chiave API.
-
Utilizza una chiave esistente:
- Fai clic sul nome della chiave.
- Nell'elenco Seleziona limitazioni dell'API, seleziona API Places (novità).
- Fai clic su Salva.
La selezione di un'API qui non la abilita. Assicurati che l'API Places (novità) sia abilitata nella relativa pagina della libreria API.
-
- 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=places.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
--appendmantiene 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=places.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 camponame: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
Effettua una richiesta all'API Places (nuova) per restituire una risposta JSON per una ricerca testuale sulla stringa "Spicy Vegetarian Food in Sydney, Australia". Devi includere la stringa alfanumerica della chiave API in ogni richiesta e utilizzare HTTPS per le richieste che includono la chiave API.
Fai clic su API_KEY nel codice di seguito per inserire la stringa alfanumerica della chiave:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'- Fai clic sull'icona di copia nell'esempio di codice,
, per copiare il comando curl. - Incolla il comando in una finestra del terminale ed eseguilo.
La risposta è un oggetto JSON nel formato:
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegan_restaurant", "vegetarian_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "addressComponents": [ { "longText": "29", "shortText": "29", "types": [ "street_number" ], "languageCode": "en-US" }, ... }
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 (nuova) 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 (nuova) 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 (nuova).
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 (nuova) in un'app mobile Android o iOS. Per ulteriori informazioni 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 (nuova), 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 (nuova) 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:
Installa e inizializza l'interfaccia a riga di comando
gcloud. Per saperne di più, consulta Installa gcloud CLI.Esegui l'autenticazione con l'interfaccia a riga di comando
gcloud:gcloud auth application-default login
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
Authorizationutilizzando il seguente comando per generare il token:gcloud auth application-default print-access-tokenIl 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 (nuova) utilizzando un token OAuth, completa i seguenti passaggi:
Nel seguente esempio di codice, sostituisci PROJECT_ID con l'ID progetto Google Cloud:
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"
Per copiare il comando
curl, fai clic su Copia nell'esempio di codice.Incolla il comando in una finestra del terminale, quindi eseguilo.
La risposta è un oggetto JSON:
{
"places": [
{
"name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"types": [
"vegan_restaurant",
"vegetarian_restaurant",
"meal_takeaway",
"restaurant",
"food",
"point_of_interest",
"establishment"
],
"nationalPhoneNumber": "0433 479 794",
"internationalPhoneNumber": "+61 433 479 794",
"formattedAddress": "29 King St, Sydney NSW 2000, Australia",
"addressComponents": [
{
"longText": "29",
"shortText": "29",
"types": [
"street_number"
],
"languageCode": "en-US"
},
...
}
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 attivato l'API Places (nuova) e configurato una chiave API, consulta Informazioni sull'API Places (nuova) per scoprire di più su come utilizzare l'API Places (nuova).