Google Maps Places API on võimas tööriist, mis võimaldab arendajatel pääseda juurde üksikasjalikule teabele kohtade kohta kogu maailmas. Selles õpetuses juhendame teid Pythonis uue Google Maps Places API kasutamise protsessis alates Google Cloudi projekti seadistamisest kuni API päringute tegemise ja vastuste käsitlemiseni.
Mis on Google Maps Placesi API?
Google Mapsil on Placesi API kaks versiooni:
- Pärand API - Võimaldab ühendada lihtsa API-võtmega.
- Järgmise põlvkonna API – Nõuab autentimiseks OAuth 2.0 ja pakub täpsemaid funktsioone.
Google'i pilveprojekti seadistamine
- Navigeerige Google Cloud Console'i: Minema Google Cloud Console.
- Loo projekt: kui teil projekti pole, looge see, klõpsates rippmenüül ja valides "Uus projekt".
- Lubage API-d ja teenused: avage API-d ja teenused > Armatuurlaud ja lubage Placesi API.
- OAuth 2.0 seadistamine: avage API-d ja teenused > OAuthi nõusolekuekraan, seadistage nõusolekukuva ja looge OAuth 2.0 mandaadid.
Autentimine OAuth 2.0 abil
- Looge OAuthi kliendi ID: valige rakenduse tüübiks "Töölauarakendus" ja laadige alla kliendi salafail.
- Installige vajalikud raamatukogud: Google Pythoni klienditeegi ja Pythoni dotenv paketi installimiseks kasutage pipi.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
API taotluste tegemine
API kliendi lähtestamine
Loo Pythoni skript (nt maps_textsearch.py
) ja lähtestage API klient allalaaditud mandaatide abil.
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)
Näide: tekstiotsing
Määratlege otsinguparameetrid: konkreetsete kohtade otsimiseks looge päring.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Käsitlege vastust: võtke välja ja kuvage asjakohast teavet.
for place in response['results']:
print(place['name'], place['formatted_address'])
Näide: koha üksikasjad
Hankige koha üksikasjad: hankige üksikasjalik teave konkreetse koha kohta, kasutades selle koha ID-d.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Kuva üksikasjad: eraldage ja printige välja üksikasjad, nagu ülevaated, lahtiolekuajad jne.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Hinnakujundus ja kvoodid
Google pakub kõigi Mapsi toodete jaoks $200 tasuta krediiti kuus. Jälgige oma kasutamist, et vältida ootamatuid tasusid.
Kokkuvõte
Järgides neid samme, saate Google Maps Places API edukalt oma Pythoni rakendustesse integreerida, pakkudes kasutajakogemuse parandamiseks rikkalikke kohaga seotud andmeid.
Tabel: Põhipunktid
Samm | Kirjeldus |
---|---|
Projekti seadistamine | Looge Google Cloud Console'is projekt, lubage Places API ja seadistage OAuth 2.0 mandaadid. |
Autentimine | Kasutage API taotluste autentimiseks OAuth 2.0. |
API taotlused | Tehke API-päringuid Pythoni klienditeegi abil. |
Vastuse käsitlemine | Hankige ja kuvage API vastustest asjakohast teavet. |
Hinnakujundus | Kasutage Google Mapsi pakutavat $200 tasuta krediiti. |
Koodilõigu näide
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'])
Seda juhendit järgides saate hõlpsalt alustada Google Maps Placesi API-ga ja avada oma rakenduste jaoks hulgaliselt asukohapõhiseid andmeid. Nautige Google Mapsi maailma avastamist!
Kommentaarid (0)
Siin pole veel kommentaare, võite olla esimene!