Autorización y encabezados HTTP

Video: Autenticación

Cuando llamas a la API de Google Ads, necesitas credenciales de la aplicación de OAuth 2.0 y un token de desarrollador. Si realizas llamadas a la API con una cuenta de administrador de Google Ads, también debes especificar un encabezado login-customer-id con cada solicitud. En esta página, se describe cómo configurar estos valores y se documentan varios encabezados HTTP adicionales específicos de la API que se envían y reciben cuando se usa la interfaz REST.

Credenciales de OAuth 2.0

La API de Google Ads utiliza credenciales de aplicación para identificar y autorizar las solicitudes a la API. Se pueden configurar los clientes de OAuth 2.0 y las cuentas de servicio. Para obtener más información sobre la configuración de la autorización del cliente, consulta OAuth2 en la API de Google Ads.

Si no tienes experiencia con las APIs de Google, puedes usar oauth2l o OAuth 2.0 Playground para experimentar con las credenciales de la aplicación y la API de Google Ads antes de escribir el código de la app.

Usar flujos de escritorio o de app web

Sigue los pasos para configurar un proyecto de la Consola de APIs de Google para la API de Google Ads. Registra el ID de cliente y el secreto del cliente y, luego, regresa a esta página.

Una vez que hayas creado un cliente de OAuth, sigue las instrucciones de flujo de apps para computadoras o las instrucciones de flujo de apps web para generar un token de actualización y un token de acceso.

Usa cuentas de servicio

Sigue las instrucciones comunes en la guía Cuentas de servicio para configurar el acceso a la cuenta de servicio para la API de Google Ads.

Una vez que hayas configurado una cuenta de servicio para acceder a tu cuenta de Google Ads, sigue la guía Cómo usar OAuth 2.0 para aplicaciones de servidor a servidor y asegúrate de seleccionar la pestaña HTTP/REST. El scope que se usará para acceder a la API de Google Ads es https://www.googleapis.com/auth/adwords.

Genera tokens de acceso nuevos

Una vez que tengas un ID de cliente, un secreto de cliente y un token de actualización, puedes generar un token de acceso nuevo para usar en llamadas a la API con la herramienta de línea de comandos de curl:

curl \
  --data "grant_type=refresh_token" \
  --data "client_id=CLIENT_ID" \
  --data "client_secret=CLIENT_SECRET" \
  --data "refresh_token=REFRESH_TOKEN" \
  https://www.googleapis.com/oauth2/v3/token

Luego, debes utilizar el token de acceso que muestra la solicitud curl en el encabezado HTTP Authorization de cada llamada a la API de Google Ads:

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Encabezados de la solicitud

Token de programador

La API de Google Ads también requiere un token de desarrollador para realizar llamadas a la API. Puedes solicitar un token para tu cuenta de administrador directamente desde la IU de Google Ads. Para obtener más detalles sobre cómo configurar un token de desarrollador, consulta Cómo obtener tu token de desarrollador.

Debes incluir el valor del token de desarrollador en el encabezado HTTP developer-token de cada llamada a la API de Google Ads:

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

ID de cliente de acceso

Para las llamadas a la API de Google Ads realizadas por un administrador a una cuenta de cliente (es decir, cuando accedes como administrador para realizar llamadas a la API a una de sus cuentas de cliente), también debes proporcionar el encabezado HTTP login-customer-id. Este valor representa el ID de cliente de Google Ads del administrador que realiza la llamada a la API.

Incluir este encabezado equivale a elegir una cuenta en la IU de Google Ads después de acceder o hacer clic en tu imagen de perfil, que se encuentra en la esquina superior derecha de la página. Cuando especifiques el ID de cliente, asegúrate de quitar los guiones (—), por ejemplo: 1234567890, no 123-456-7890.

GET /v16/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

ID de cliente vinculado

Solo los proveedores de estadísticas de aplicaciones de terceros utilizan este encabezado cuando suben conversiones a una cuenta de Google Ads vinculada. Consulta la guía sobre la estructura de las llamadas a la API para obtener más detalles.

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

Encabezados de respuesta

Los siguientes encabezados se muestran en las respuestas HTTP de la API.

ID de solicitud

El request-id es una cadena que identifica de manera única la solicitud a la API. Cuando depures o soluciones problemas con llamadas a la API específicas, request-id es un identificador importante que debes tener a mano cuando te comuniques con el equipo de asistencia para desarrolladores de Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC