Usa OAuth

La API de Address Validation admite el uso de 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 la llamada a la API de Address Validation en tu entorno de desarrollo. Para obtener instrucciones sobre el uso de OAuth en un entorno de producción, consulta Autenticación en Google.

Antes de comenzar

Antes de comenzar a usar la API de Address Validation, necesitas un proyecto con una cuenta de facturación y la API de Address Validation habilitada. Te recomendamos que crees varios propietarios de proyectos y administradores de facturación para que tu equipo siempre tenga a alguien disponible con estas funciones. Si deseas obtener más información, consulta el artículo Configuración en la consola de Cloud.

Acerca de OAuth

Existen muchas formas de crear y administrar tokens de acceso con OAuth en función del entorno de implementación.

Por ejemplo, el sistema Google OAuth 2.0 admite interacciones de servidor a servidor, como las que hay entre tu aplicación y un servicio de Google. Para esta situación, necesitas una cuenta de servicio, que pertenece a tu aplicación en lugar de a un usuario final individual. Tu aplicación llama a las API de Google en nombre de la cuenta de servicio, por lo que los usuarios no se involucran directamente. Para obtener más información sobre los métodos de autenticación, consulta Autenticación en Google.

Como alternativa, puedes usar la API de Address Validation como parte de una app para dispositivos móviles Android o iOS. Si quieres obtener información general sobre el uso de OAuth con la API de Address Validation, incluida información sobre la administración de tokens de acceso para diferentes entornos de implementación, consulta Usa OAuth 2.0 a fin de acceder a las API de Google.

Acerca de los permisos de OAuth

Para usar OAuth con la API de Address Validation, se debe asignar el alcance al token de OAuth:

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

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

Si quieres probar la API de Address Validation con un token de OAuth, pero no tienes un entorno configurado para generar tokens, puedes usar el procedimiento de esta sección para realizar la llamada.

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. Si deseas obtener información sobre el uso de ADC para llamar a las API de Google con bibliotecas cliente, consulta Autentica con bibliotecas cliente.

Requisitos previos

Antes de realizar una solicitud de REST con ADC, usa Google Cloud CLI para proporcionarle credenciales:

  1. Si aún no lo hiciste, crea un proyecto y habilita la facturación siguiendo los pasos que se indican en Configura en Google Cloud Console.
  2. Instala e inicializa la CLI de gcloud
  3. Ejecuta el siguiente comando gcloud en tu máquina local para crear tu archivo de credenciales:

    gcloud auth application-default login
  4. Se muestra una pantalla de acceso. Después de que accedes, tus credenciales se almacenan en el archivo de credenciales local que usa ADC.

Para obtener más información, consulta la sección Entorno de desarrollo local de la documentación Proporciona credenciales para credenciales predeterminadas de la aplicación.

Realiza una solicitud de REST

En este ejemplo, debes pasar dos encabezados de solicitud:

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

    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 tenga la facturación habilitada en el encabezado X-Goog-User-Project. Para obtener más información, consulta Configuración en Cloud Console.

En el siguiente ejemplo, se realiza una llamada a la API de Address Validation con un token de OAuth:

curl -X POST -d '{
  "address": {
    "regionCode": "US",
    "locality": "Mountain View",
    "addressLines": ["1600 Amphitheatre Pkwy"]
  }
}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://addressvalidation.googleapis.com/v1:validateAddress"

Solución de problemas

Si tu solicitud muestra un mensaje de error que indica que las credenciales de usuario final no son compatibles con esta API, consulta Las credenciales de usuario no funcionan.