Usa claves de API con la API de Directions (heredada)

Los productos de Google Maps Platform están protegidos contra un uso no autorizado porque restringen las llamadas a la API a aquellas que proporcionan credenciales válidas de autenticación. Estas credenciales se indican como una clave de API, es decir, una cadena alfanumérica única que asocia tu cuenta de facturación de Google con tu proyecto y con la API o el SDK específicos.

Obtén información para crear, restringir y usar tu clave de API en Google Maps Platform.

Antes de comenzar

Antes de comenzar a usar la API de Directions (heredada), debes tener un proyecto con una cuenta de facturación y la API de Directions (heredada) habilitada. Si deseas obtener más información, consulta el artículo sobre cómo configurar tu proyecto en la consola de Cloud.

Crea claves de API

La clave de API es un identificador único que se utiliza para autenticar solicitudes asociadas a tu proyecto con fines de uso y facturación. Debes tener, al menos, una clave de API asociada a tu proyecto. Para crear una clave nueva o agregar una API o un SDK a una clave existente, sigue estas instrucciones.

Console

  1. Ve a la página Google Maps Platform > Claves y credenciales.

    Ir a la página Claves y credenciales

  2. Si se solicita, selecciona tu proyecto.
  3. Realiza una de las siguientes acciones:

    • Crea una clave nueva:

      1. Haz clic en Crear credenciales > Clave de API.
      2. En el panel Crear clave de API, abre la lista Elige las restricciones de API.
      3. Borra las APIs que no necesite esta clave y asegúrate de que la API de Directions permanezca seleccionada.
      4. Haz clic en Crear. En el panel, se mostrará tu nueva clave de API.
    • Usar una clave existente:

      1. Haz clic en el nombre de la clave.
      2. En la lista Seleccionar las restricciones de API, elige API de Directions.
      3. Haz clic en Guardar.

    Seleccionar una API aquí no la habilita. Asegúrate de que la API de Directions esté habilitada en su página de la biblioteca de APIs.

  4. Para ver la cadena de clave más adelante, ve a la página Claves y credenciales y haz clic en Mostrar clave para la clave.

Si la consola se ve diferente de estos pasos, consulta Crea una clave de API y Agrega restricciones de API en la documentación de Google Cloud.

gcloud

Reemplaza PROJECT_ID por el ID del proyecto en los siguientes comandos.

  • Crea una clave nueva: Ejecuta el siguiente comando y reemplaza DISPLAY_NAME por un nombre para la clave.

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

    Obtén más información sobre el SDK de Google Cloud, la instalación del SDK de Cloud y los siguientes comandos:

  • Usa una clave existente: Ejecuta el siguiente comando y reemplaza KEY_ID por el ID de la clave. La marca --append conserva las APIs que la clave ya permite. Sin él, el comando las reemplaza.

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

    Obtén más información sobre el SDK de Google Cloud, la instalación del SDK de Cloud y los siguientes comandos:

    El ID de clave no es la cadena de clave ni el nombre visible. Para encontrarlo, ejecuta gcloud services api-keys list --project="PROJECT_ID". El ID es la última parte del campo name: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

Para ver la cadena de la clave, ejecuta gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Restringe las claves de API

Google recomienda que restrinjas las claves de API limitando su uso solo a aquellas APIs que sean necesarias para tu aplicación. La restricción de las claves de API agrega seguridad a tu aplicación, ya que la protege de solicitudes no autorizadas. Eres responsable de los cargos que se generen por el abuso de las claves de API sin restricciones. Para obtener más información, consulta Prácticas recomendadas sobre la seguridad de la API.

Para restringir una clave de API, sigue estos pasos:

Console

  1. Ve a la página Google Maps Platform > Claves y credenciales.

    Ir a la página Claves y credenciales

  2. Selecciona la clave de API para la que deseas establecer una restricción. Aparecerá la página de propiedades de la clave de API.
  3. En Restricciones de clave, establece las siguientes restricciones:
    • Restricciones de aplicaciones:
      1. Para aceptar las solicitudes de la lista de direcciones IP del servidor web que proporcionas, selecciona Direcciones IP en Restricciones de aplicaciones. Especifica una o varias direcciones IPv4 o IPv6, o bien subredes que utilicen notación CIDR. Las direcciones IP deben coincidir con la dirección de origen que observan los servidores de Google Maps Platform. Si utilizas la traducción de direcciones de red (NAT), esta dirección suele coincidir con la dirección IP pública de tu equipo.
    • Restricciones de API:
      1. En Seleccionar restricciones de API, asegúrate de que esté seleccionada la API de Directions. Si no aparece en la lista, debes habilitarla.
  4. Para finalizar los cambios, haz clic en Guardar.

gcloud

Ejecuta el siguiente comando. Reemplaza KEY_ID por el ID de la clave y PROJECT_ID por el ID del proyecto. Para encontrar el ID de clave, ejecuta gcloud services api-keys list --project="PROJECT_ID". El ID es la última parte del campo name.

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

Obtén más información sobre el SDK de Google Cloud, la instalación del SDK de Cloud y los siguientes comandos:

Agrega la clave de API a tu solicitud

Debes incluir una clave de API en cada solicitud a la API de Directions (heredada). En el siguiente ejemplo, reemplaza YOUR_API_KEY por tu clave de API:

https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY

Para las solicitudes que usan una clave de API, debes usar HTTPS.