Usar chaves de API com a API Distance Matrix (legada)

Para proteger os produtos da Plataforma Google Maps contra uso não autorizado, o Google restringe as chamadas de API àquelas com as credenciais de autenticação adequadas. Essas credenciais vêm na forma de uma chave de API, uma string alfanumérica exclusiva que associa a conta do Cloud Billing ao seu projeto e à API ou ao SDK específico.

Este guia mostra como criar, restringir e usar uma chave de API para a Plataforma Google Maps.

Antes de começar

Para usar a API Distance Matrix (legada), você precisa ter um projeto com uma conta de faturamento e ativar a API Distance Matrix (legada). Para saber mais, consulte Configurar no console do Cloud.

Criar chaves de API

A chave de API é um identificador exclusivo que autentica solicitações associadas ao seu projeto para fins de uso e faturamento. Você precisa ter pelo menos uma chave de API associada ao projeto. Para criar uma nova chave ou adicionar uma API ou um SDK a uma chave, siga estas instruções.

Console

  1. Acesse a página Plataforma Google Maps > Chaves e credenciais.

    Acessar a página Chaves e credenciais

  2. Se solicitado, selecione o projeto.
  3. Escolha uma destas opções:

    • Crie uma nova chave:

      1. Clique em Criar credenciais > Chave de API.
      2. No painel Criar chave de API, abra a lista Selecionar restrições de API.
      3. Limpe as APIs que essa chave não precisa e verifique se a API Distance Matrix permanece selecionada.
      4. Clique em Criar. O painel mostra sua nova chave de API.
    • Usar uma chave atual:

      1. Clique no nome da chave.
      2. Na lista Selecionar restrições da API, escolha API Distance Matrix.
      3. Clique em Salvar.

    Selecionar uma API aqui não a ativa. Verifique se a API Distance Matrix está ativada na página da biblioteca de APIs.

  4. Para ver a string da chave mais tarde, acesse a página Chaves e credenciais e clique em Mostrar chave.

Se o console estiver diferente do que é mostrado nestas etapas, consulte Criar uma chave de API e Adicionar restrições de API na documentação do Google Cloud.

gcloud

Substitua PROJECT_ID pelo ID do projeto nos comandos a seguir.

  • Crie uma nova chave: execute o comando a seguir e substitua DISPLAY_NAME por um nome para a chave.

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

    Saiba mais sobre o SDK Google Cloud, a instalação do SDK Cloud e os seguintes comandos:

  • Usar uma chave atual: execute o comando a seguir e substitua KEY_ID pelo ID da chave. A flag --append mantém as APIs que a chave já permite. Sem ele, o comando as substitui.

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

    Saiba mais sobre o SDK Google Cloud, a instalação do SDK Cloud e os seguintes comandos:

    O ID da chave não é a string de chave nem o nome de exibição. Para encontrá-lo, execute gcloud services api-keys list --project="PROJECT_ID". O ID é a última parte do campo name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

Para ver a string de chave, execute gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Restringir chaves de API

O Google recomenda que você restrinja as chaves de API limitando o uso somente às APIs necessárias para o aplicativo. Restringir chaves de API adiciona segurança ao seu aplicativo, protegendo-o contra solicitações não autorizadas. Você é financeiramente responsável pelas cobranças causadas pelo abuso de chaves de API irrestritas. Para mais informações, consulte Práticas recomendadas de segurança de APIs.

Para restringir uma chave de API, faça o seguinte:

Console

  1. Acesse a página Plataforma Google Maps > Chaves e credenciais.

    Acesse a página Chaves e credenciais

  2. Selecione a chave de API em que você quer definir uma restrição. A página de propriedades da chave de API será exibida.
  3. Em Restrições de chave, defina as seguintes opções:
    • Restrições do aplicativo:
      1. Para aceitar solicitações da lista de endereços IP do servidor da Web que você informou, selecione Endereços IP em Restrições do aplicativo. Especifique um ou mais endereços IPv4 ou IPv6 ou sub-redes usando notação do CIDR. Os endereços IP precisam corresponder ao endereço da origem que os servidores da Plataforma Google Maps observam. Se você usa conversão de endereços de rede (NAT), esse endereço geralmente corresponde ao endereço IP público da sua máquina.
    • Restrições de API:
      1. Em Selecionar restrições de API, verifique se a API Distance Matrix está selecionada. Se ela não estiver listada, será necessário ativá-la.
  4. Para concluir as mudanças, clique em Salvar.

gcloud

Execute o comando a seguir. Substitua KEY_ID pelo ID da chave e PROJECT_ID pelo ID do projeto. Para encontrar o ID da chave, execute gcloud services api-keys list --project="PROJECT_ID". O ID é a última parte do campo name.

gcloud services api-keys update KEY_ID \
    --project="PROJECT_ID" \
    --append \
    --api-target=service=distance-matrix-backend.googleapis.com \
    --allowed-ips="IP_ADDRESS"

Saiba mais sobre o SDK Google Cloud, a instalação do SDK Cloud e os seguintes comandos:

Adicionar a chave de API à solicitação

Você precisa incluir uma chave de API em todas as solicitações da API Distance Matrix (legada). No exemplo a seguir, substitua YOUR_API_KEY pela chave de API:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&key=YOUR_API_KEY

É preciso usar HTTPS para solicitações que usam uma chave de API.