A API do Google Maps Places é uma ferramenta poderosa que permite aos desenvolvedores acessar informações detalhadas sobre lugares ao redor do mundo. Neste tutorial, orientaremos você no processo de uso da nova API do Google Maps Places em Python, desde a configuração do seu projeto do Google Cloud até a realização de solicitações de API e o tratamento de respostas.
O que é a API do Google Maps Places?
O Google Maps tem duas versões da API Places:
- API legada – Permite conexão com uma chave API simples.
- API de próxima geração – Requer OAuth 2.0 para autenticação e oferece recursos mais avançados.
Configurando seu projeto do Google Cloud
- Navegue até o Console do Google Cloud: Vá para Console do Google Cloud.
- Crie um projeto: Se você não possui um projeto, crie um clicando no menu suspenso e selecionando “Novo Projeto”.
- Habilitar APIs e serviços: acesse APIs e serviços > Painel e ative a API do Google Places.
- Configurar o OAuth 2.0: acesse APIs e serviços > Tela de consentimento do OAuth, configure a tela de consentimento e crie credenciais do OAuth 2.0.
Autenticando com OAuth 2.0
- Criar ID de cliente OAuth: Escolha “Desktop App” como o tipo de aplicativo e baixe o arquivo secreto do cliente.
- Instale as bibliotecas necessárias: Use pip para instalar a biblioteca cliente Google Python e o pacote Python dotenv.
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client python-dotenv
Fazendo solicitações de API
Inicializando o cliente API
Crie um script Python (por exemplo, maps_textsearch.py
) e inicialize o cliente API usando as credenciais baixadas.
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)
Exemplo: pesquisa de texto
Definir parâmetros de pesquisa: crie uma consulta para pesquisar locais específicos.
query = 'ramen places in New York'
response = service.places().textSearch(query=query).execute()
print(json.dumps(response, indent=4))
Lidar com a resposta: Extraia e exiba informações relevantes.
for place in response['results']:
print(place['name'], place['formatted_address'])
Exemplo: detalhes do local
Obtenha detalhes do lugar: recupere informações detalhadas sobre um local específico usando seu ID de local.
place_id = 'ChIJN1t_tDeuEmsRUsoyG83frY4'
response = service.places().get(place_id=place_id).execute()
print(json.dumps(response, indent=4))
Exibir detalhes: extraia e imprima detalhes como avaliações, horário de funcionamento, etc.
print('Name:', response['name'])
print('Address:', response['formatted_address'])
print('Phone:', response['formatted_phone_number'])
Preços e cotas
O Google oferece $200 de crédito gratuito por mês para todos os produtos Maps. Monitore seu uso para evitar cobranças inesperadas.
Conclusão
Seguindo essas etapas, você pode integrar com sucesso a API do Google Maps Places em seus aplicativos Python, fornecendo dados ricos relacionados ao local para aprimorar a experiência do usuário.
Tabela: Pontos Chave
Etapa | Descrição |
---|---|
Configuração do projeto | Crie um projeto no Console do Google Cloud, ative a API Places e configure as credenciais do OAuth 2.0. |
Autenticação | Use o OAuth 2.0 para autenticar solicitações de API. |
Solicitações de API | Faça solicitações de API usando a biblioteca cliente Python. |
Tratamento de respostas | Extraia e exiba informações relevantes das respostas da API. |
Preços | Utilize o crédito gratuito $200 fornecido pelo Google Maps. |
Exemplo de trecho de código
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'])
Seguindo este guia, você pode facilmente começar a usar a API do Google Maps Places e desbloquear uma grande variedade de dados baseados em localização para seus aplicativos. Divirta-se explorando o mundo do Google Maps!
Comentários (0)
Ainda não há comentários aqui, você pode ser o primeiro!