Detalles internos de OAuth 2.0 para la API de Google Ads

Esta sección está dirigida a usuarios avanzados que ya conocen 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 del 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 vida útil 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 físicamente en tu sitio web. Los tokens de acceso tienen una vida útil de 3,600 segundos (1 hora), después de lo 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.

En el caso del tipo de app para computadoras, el acceso sin conexión está habilitado de forma predeterminada, por lo que no tienes que solicitarlo explícitamente.

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 un Credential a un Channel para usarlo en todas las solicitudes de ese canal. También puedes enviar una credencial personalizada para cada llamada. En la guía de autorización de gRPC, encontrarás más detalles para controlar 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}" \