Detalles internos de OAuth 2.0 para la API de Google Ads

Esta sección está destinada a usuarios avanzados que ya están familiarizados con la especificación de OAuth 2.0 y saben cómo usar OAuth 2.0 con las APIs de Google.

Alcance

Un solo token de acceso puede otorgar diferentes grados de acceso a varias APIs. Un parámetro variable llamado scope controla el conjunto de recursos y operaciones que permite un token de acceso. Durante la solicitud de token de acceso, tu app envía uno o más valores en el parámetro scope.

El alcance de la API de Google Ads es el siguiente:

https://www.googleapis.com/auth/adwords

Acceso sin conexión y períodos de validez de los tokens

Es común que una app cliente de la API de Google Ads solicite acceso sin conexión. Por ejemplo, es posible que tu app quiera ejecutar trabajos por lotes cuando el usuario no esté navegando por tu sitio web de forma física en línea. Los tokens de acceso tienen un período de validez de 3,600 segundos (1 hora), después del cual tu app debe intercambiar un token de actualización por un token de acceso nuevo.

Para solicitar acceso sin conexión para un tipo de app web, asegúrate de establecer el parámetro access_type en offline. Puedes encontrar información adicional en la guía de OAuth 2.0 de Google.

Para el tipo de app de escritorio, el acceso sin conexión está habilitado de forma predeterminada, por lo que no tienes que solicitarlo de forma explícita.

Encabezados de la solicitud

Todas las solicitudes a la API de Google Ads deben incluir el token de acceso de OAuth 2.0 en el encabezado de la solicitud. En las siguientes secciones, se describe cómo pasar estas credenciales con gRPC y REST.

Encabezados de gRPC

Cuando uses la API de gRPC, incluye el token de acceso en cada solicitud. Puedes vincular una Credential a un Channel para usarla en todas las solicitudes de ese canal. También puedes enviar una credencial personalizada para cada llamada. La guía de autorización de gRPC contiene más detalles sobre el manejo de la autorización.

Encabezados de REST

Cuando uses la API de REST, pasa el token de acceso a través del encabezado HTTP Authorization: Bearer <ACCESS_TOKEN>. A continuación, se muestra un ejemplo de solicitud HTTP:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \