Autorización y encabezados HTTP

Necesitas credenciales de OAuth 2.0 cuando llamas a la API de Google Ads. 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 de REST.

Credenciales de OAuth 2.0

La API de Google Ads usa OAuth 2.0 para autorizar las solicitudes a la API. Se admiten el flujo de autenticación de usuarios y el flujo de cuentas de servicio de OAuth 2.0. Para obtener más detalles, consulta OAuth 2.0 en la API de Google Ads.

Si es la primera vez que usas las APIs de Google, puedes utilizar la herramienta de línea de comandos de gcloud o OAuth 2.0 Playground para experimentar con las credenciales de OAuth 2.0 y la API de Google Ads antes de escribir el código de tu app.

Te recomendamos que uses una de las bibliotecas de OAuth 2.0 disponibles en https://oauth.net/code/ para implementar los flujos de trabajo de autorización de OAuth 2.0. Sin embargo, incluimos las instrucciones de curl en caso de que necesites implementarlo por tu cuenta.

Cuentas de servicio

Sigue los pasos para configurar un proyecto de Google Cloud para la API de Google Ads. Registra el correo electrónico de la cuenta de servicio y la clave de la cuenta de servicio. Luego, sigue las instrucciones comunes de la guía de cuentas de servicio para configurar la cuenta de servicio de modo que acceda a tu cuenta de Google Ads.

Autenticación de usuarios

Sigue los pasos para configurar un proyecto de la consola de Google Cloud para la API de Google Ads. Registra el ID de cliente y el secreto del cliente. Luego, sigue las instrucciones del flujo de la app para computadoras o las instrucciones del flujo de la app web para generar un token de actualización y un token de acceso. 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

Cuentas de servicio

Cuando tengas el correo electrónico de la cuenta de servicio y la clave de la cuenta de servicio, sigue la guía Cómo usar OAuth 2.0 para aplicaciones de servidor a servidor para generar un conjunto de reclamaciones de JWT, que luego se puede intercambiar para obtener un token de acceso de OAuth 2.0. Asegúrate de seleccionar la pestaña HTTP/REST mientras sigues la guía. El scope de OAuth 2.0 que se usará para acceder a la API de Google Ads es https://www.googleapis.com/auth/adwords. Además, puedes omitir el parámetro sub cuando construyas el conjunto de reclamaciones de JWT, ya que los pasos de configuración otorgan a la cuenta de servicio acceso directo a la cuenta de Google Ads, lo que evita la necesidad de actuar en nombre de un usuario de Google Ads.

Luego, usa el token de acceso en el encabezado HTTP Authorization de cada llamada a la API de Google Ads:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Autenticación de usuarios

Una vez que tengas un ID de cliente, un secreto del cliente y un token de actualización de OAuth 2.0, podrás generar un token de acceso nuevo para usarlo en las 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, usa el token de acceso que muestra la solicitud curl en el encabezado HTTP Authorization de cada llamada a la API de Google Ads:

GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN

Encabezados de la solicitud

En las siguientes secciones, se describen los encabezados HTTP que se requieren o usan cuando se realizan solicitudes a la API de Google Ads.

ID de cliente de acceso

En el caso de las llamadas a la API de Google Ads que realiza un administrador a una cuenta de cliente (es decir, cuando accede 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 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. Consulta la guía del modelo de acceso de Google Ads para obtener más información sobre el ID de cliente de acceso.

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

ID de cliente vinculado

Los socios (como los proveedores de estadísticas de app de terceros o los socios de datos) usan el encabezado Linked customer ID cuando realizan acciones en una cuenta de Google Ads vinculada. Consulta la guía de estructura de llamadas a la API para obtener más detalles.

Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID

Encabezados de respuesta

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

ID de solicitud

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

request-id: 2a5Cj89VV7CNhya1DZjjrC