Configura la API de Places Aggregate

En este documento, se describen los pasos que debes seguir para comenzar a usar la API de Places Aggregate.

Requisitos previos

Este procedimiento te guiará para configurar una cuenta de Google Cloud y un proyecto de Google Cloud con la facturación habilitada. También debes conocer cómo se te cobra por usar la API de Places Aggregate.

  1. Revisa la facturación y el costo por el uso en Uso y facturación de la API de Places Aggregate.
  2. Verifica que tengas una Cuenta de Google Cloud.

    Accede a la consola de Google Cloud
  3. Verifica que tengas un proyecto de Google Cloud con la facturación habilitada.

    Ir a la página Facturación
    1. Selecciona tu proyecto para abrir la página Facturación.
    2. En la página Facturación, haz lo siguiente:

      • Si la facturación ya está habilitada para el proyecto seleccionado y solo tienes una cuenta de facturación, se abrirá la página Facturación.
      • Si tienes varias cuentas de facturación, selecciona Ir a la cuenta de facturación vinculada para ver los detalles de la cuenta de facturación asociada con el proyecto.
      • Si existe una cuenta de facturación, pero no está asociada al proyecto, se te solicitará que vincules una cuenta de facturación con el proyecto.
      • Si no existe una cuenta de facturación o quieres crear una nueva, selecciona Administrar cuentas de facturación para crear una nueva. Para obtener más información, consulta Crea una nueva cuenta de Facturación de Cloud de servicio automático.

Habilita la API

Antes de poder usar la API de Places Aggregate, debes usar la consola de Google Cloud o el comando gcloud para habilitarla en tu proyecto de Google Cloud.

Para habilitar la API, sigue estos pasos:

Console

  1. Abre la página del producto en la consola de Google Cloud:

    Habilita la API de Places Aggregate
  2. Haz clic en el botón Habilitar.

gcloud

gcloud services enable \
    --project "PROJECT" \
    "areainsights.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:

Obtén una clave de API para usarla con la API de Places Aggregate

Los productos de Google Maps Platform están protegidos contra un uso no autorizado porque requieren que las llamadas a la API incluyan una clave de API o un token de OAuth. Primero, se debe realizar el procedimiento de la clave de API. Para usar un token de OAuth, consulta Crea un token de OAuth.

Una clave de API es una cadena alfanumérica única que asocia tu cuenta de Facturación de Cloud y tu proyecto de Google Cloud con la solicitud que tu aplicación realiza a una API o un SDK de Google Maps Platform. 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 Places Aggregate 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 Selecciona las restricciones de API, elige API de Places Aggregate.
      3. Haz clic en Guardar.

    Seleccionar una API aquí no la habilita. Asegúrate de que la API de Places Aggregate 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=areainsights.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=areainsights.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".

Realiza una solicitud a la API

En este ejemplo, se muestra una solicitud para devolver la cantidad de restaurantes en San Francisco que tienen precios moderados.

  1. Haz clic en API_KEY en el siguiente código para insertar la cadena alfanumérica de la clave:

    curl --location 'https://areainsights.googleapis.com/v1:computeInsights' \
    --header 'X-Goog-Api-Key: API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
       "insights":[
          "INSIGHT_COUNT"
       ],
       "filter":{
          "locationFilter":{
             "region":{
                "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
             }
          },
          "typeFilter":{
             "includedTypes":[
                "restaurant"
             ]
          },
          "priceLevels":[
             "PRICE_LEVEL_INEXPENSIVE"
          ]
       }
    }'
    
  2. Haz clic en el ícono de copia en la muestra de código, Selecciona el ícono de copiar., para copiar el comando curl.
  3. Pega el comando en una ventana de terminal y ejecútalo.

La respuesta es un objeto JSON con el siguiente formato:

{
  "count": "1025"
}

Aplica restricciones de claves de API

Google recomienda que restrinjas las claves de API limitando su uso solo a las APIs y las apps que las necesitan. La restricción de las claves de API agrega seguridad a tu aplicación, ya que la protege de solicitudes no autorizadas. Las claves de API admiten dos tipos de restricciones:

  • Las restricciones de API especifican a qué SDKs y APIs se puede llamar con la clave de API. La consola y gcloud CLI requieren al menos una restricción de API cuando creas una clave.
  • Las restricciones de aplicaciones especifican qué sitios web, direcciones IP o apps pueden usar una clave de API.

Para obtener más información sobre cómo aplicar restricciones, consulta Restringe tus claves de API.

Crea un token de OAuth

La API de Places Aggregate admite OAuth 2.0 para la autenticación. Google admite situaciones comunes de OAuth 2.0, como las de un servidor web.

En este documento, se describe cómo pasar un token de OAuth a una llamada a la API de Places Aggregate en tu entorno de desarrollo. Para obtener más información sobre el uso de OAuth en un entorno de producción, consulta Métodos de autenticación en Google.

Puedes llamar a las APIs de Google Maps directamente realizando solicitudes a la API al servidor, o bien puedes usar bibliotecas cliente para simplificar tu código. Google Maps proporciona bibliotecas cliente para Go, Java, Node.js y Python. Para obtener más información, consulta las bibliotecas cliente de la API de Places Aggregate.

Descripción general de OAuth

Puedes crear y administrar tokens de acceso con OAuth de varias maneras, según tu entorno de implementación.

Puedes usar OAuth 2.0 para las interacciones de servidor a servidor entre tu aplicación y un servicio de Google. En este caso, usarás una cuenta de servicio asociada con tu aplicación, en lugar de un usuario individual. Puedes realizar solicitudes a la API con la cuenta de servicio sin involucrar a los usuarios directamente. Para obtener más información sobre los métodos de autenticación, consulta Métodos de autenticación en Google.

Como alternativa, puedes integrar la API de Places Aggregate en una app para dispositivos móviles iOS o Android. Para obtener más información sobre cómo usar OAuth y administrar tokens de acceso para diferentes entornos de implementación, consulta Usa OAuth 2.0 para acceder a las APIs de Google.

Alcances de OAuth

Para usar OAuth con la API de Places Aggregate, debes asignar al token de OAuth el siguiente permiso:

https://www.googleapis.com/auth/cloud-platform

Ejemplo: Prueba las llamadas a la API de REST en tu entorno de desarrollo local

Si no tienes un entorno que genere tokens y quieres probar la API de Places Aggregate con un token de OAuth, usa el procedimiento que se describe en esta sección.

En este ejemplo, se describe cómo usar el token de OAuth que proporcionan las credenciales predeterminadas de la aplicación (ADC) para realizar la llamada. Para obtener más información sobre el uso de ADC para llamar a las APIs de Google con bibliotecas cliente, consulta Autentícate con bibliotecas cliente.

Usa el siguiente procedimiento de REST solo para desarrollo o pruebas, no para producción.

Requisitos previos

Antes de realizar una solicitud REST con ADC, usa la CLI de gcloud para proporcionar credenciales a ADC:

  1. Instala e inicializa la CLI de gcloud Para obtener más información, consulta Instala gcloud CLI.

  2. Autentica con la CLI de gcloud:

    gcloud auth application-default login
  3. Completa el proceso de acceso para guardar tus credenciales en el archivo de credenciales local que usa ADC.

Para obtener más información, consulta Configura ADC para un entorno de desarrollo local.

Realiza una solicitud de REST

En este ejemplo, pasas dos encabezados de solicitud:

  • Pasa el token de OAuth en el encabezado Authorization con el siguiente comando para generar el token:

    gcloud auth application-default print-access-token

    El token que se muestra tiene un alcance de https://www.googleapis.com/auth/cloud-platform.

  • Pasa el ID o el nombre de tu proyecto de Google Cloud que tiene habilitada la facturación en el encabezado X-Goog-User-Project.

Para llamar a la API de Places Aggregate con un token de OAuth, completa los siguientes pasos:

  1. En la siguiente muestra de código, reemplaza PROJECT_NUMBER_OR_ID por el número o ID de tu proyecto de Google Cloud.

    En este ejemplo, se muestra una solicitud para devolver el recuento de restaurantes en San Francisco que tienen un precio moderado:

    curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    --data '{
    "insights":[
      "INSIGHT_COUNT"
    ],
    "filter":{
      "location_filter":{
         "region":{
            "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo"
         }
      },
      "type_filter":{
         "included_types":[
            "restaurant"
         ]
      },
      "price_levels":[
         "PRICE_LEVEL_INEXPENSIVE"
      ]
    }
    }'
  2. Para copiar el comando curl, haz clic en Copiar en la muestra de código.

  3. Pega el comando en una ventana de terminal y, luego, ejecútalo.

La respuesta es un objeto JSON:

{
  "count": "1025"
}

Solución de problemas

Si tu solicitud muestra un mensaje de error que indica que esta API no admite credenciales de usuario final, consulta Soluciona problemas de la configuración de ADC.

¿Qué sigue?

Ahora que habilitaste la API de Places Aggregate y realizaste una solicitud correctamente, consulta Cómo realizar tu primera solicitud para obtener más información sobre cómo usar la API.