L'API di Google Maps Places è un potente strumento che consente agli sviluppatori di accedere a informazioni dettagliate sui luoghi di tutto il mondo. In questo tutorial ti guideremo attraverso il processo di utilizzo della nuova API di Google Maps Places in Python, dalla configurazione del tuo progetto Google Cloud alla creazione di richieste API e alla gestione delle risposte.
Che cos'è l'API di Google Maps Places?
Google Maps dispone di due versioni dell'API Places:
- API precedente – Permette la connessione con una semplice chiave API.
- API di prossima generazione – Richiede OAuth 2.0 per l'autenticazione e fornisce funzionalità più avanzate.
Configurazione del tuo progetto Google Cloud
- Passare a Google Cloud Console: Vai a Console Google Cloud.
- Crea un progetto: Se non hai un progetto, creane uno facendo clic sul menu a discesa e selezionando "Nuovo progetto".
- Abilita API e servizi: vai su API e servizi > Dashboard e attiva l'API Places.
- Configura OAuth 2.0: vai su API e servizi > Schermata di consenso OAuth, imposta la schermata di consenso e crea credenziali OAuth 2.0.
Autenticazione con OAuth 2.0
- Crea ID client OAuth: scegli "App desktop" come tipo di applicazione e scarica il file segreto del client.
- Installa le librerie richieste: utilizza pip per installare la libreria client Google Python e il pacchetto Python dotenv.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
Effettuare richieste API
Inizializzazione del client API
Creare uno script Python (ad esempio, maps_textsearch.py
) e inizializzare il client API utilizzando le credenziali scaricate.
from google.oauth2 import service_account
from googleapiclient.discovery import build
import json
def create_service(client_secret_file, api_name, api_version, scopes):
credentials = service_account.Credentials.from_service_account_file(client_secret_file, scopes=scopes)
return build(api_name, api_version, credentials=credentials)
CLIENT_SECRET_FILE = 'path/to/client_secret.json'
API_SERVICE_NAME = 'places'
API_VERSION = 'v1'
SCOPES = ['https://www.googleapis.com/auth/maps']
service = create_service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
Esempio: ricerca di testo
Definire i parametri di ricerca: crea una query per cercare luoghi specifici.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Gestire la risposta: estrae e visualizza le informazioni rilevanti.
for place in response['results']:
print(place['name'], place['formatted_address'])
Esempio: Dettagli luogo
Ottieni i dettagli del luogo: recupera informazioni dettagliate su un luogo specifico utilizzando il relativo ID luogo.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Visualizza dettagli: Estrai e stampa dettagli come recensioni, orari di apertura, ecc.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Prezzi e quote
Google offre $200 di credito gratuito al mese per tutti i prodotti Maps. Monitora il tuo utilizzo per evitare addebiti imprevisti.
Conclusione
Seguendo questi passaggi, puoi integrare con successo l'API di Google Maps Places nelle tue applicazioni Python, fornendo dati completi relativi ai luoghi per migliorare l'esperienza dell'utente.
Tabella: punti chiave
Passo | Descrizione |
---|---|
Impostazione del progetto | Crea un progetto in Google Cloud Console, abilita l'API Places e configura le credenziali OAuth 2.0. |
Autenticazione | Utilizza OAuth 2.0 per autenticare le richieste API. |
Richieste API | Effettua richieste API utilizzando la libreria client Python. |
Gestione della risposta | Estrai e visualizza informazioni rilevanti dalle risposte API. |
Prezzi | Utilizza il credito gratuito $200 fornito da Google Maps. |
Snippet di codice di esempio
from google.oauth2 import service_account
from googleapiclient.discovery import build
def create_service(client_secret_file, api_name, api_version, scopes):
credentials = service_account.Credentials.from_service_account_file(client_secret_file, scopes=scopes)
return build(api_name, api_version, credentials=credentials)
CLIENT_SECRET_FILE = 'path/to/client_secret.json'
API_SERVICE_NAME = 'places'
API_VERSION = 'v1'
SCOPES = ['https://www.googleapis.com/auth/maps']
service = create_service(CLIENT_SECRET_FILE, API_SERVICE_NAME, API_VERSION, SCOPES)
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
for place in response['results']:
print(place['name'], place['formatted_address'])
Seguendo questa guida, puoi iniziare facilmente a utilizzare l'API di Google Maps Places e sbloccare una vasta gamma di dati basati sulla posizione per le tue applicazioni. Divertiti ad esplorare il mondo di Google Maps!
Commenti (0)
Non ci sono ancora commenti qui, puoi essere il primo!