Autorización y encabezados HTTP

Necesitas credenciales de OAuth 2.0 y un token de desarrollador 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 solicitudes a la API. Se admiten el flujo de autenticación de usuarios de OAuth 2.0 y el flujo de cuentas de servicio. Para obtener más detalles, consulta OAuth 2.0 en la API de Google Ads.

Si eres nuevo en las APIs de Google, puedes usar gcloud CLI o el OAuth 2.0 Playground para experimentar con las credenciales de OAuth 2.0 y la API de Google Ads antes de escribir código para 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 Cuentas de servicio para configurar la cuenta de servicio y acceder 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 el acceso a la API de Google Ads es https://www.googleapis.com/auth/adwords.

Generar 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 Usa OAuth 2.0 para aplicaciones de servidor a servidor para generar un conjunto de declaraciones 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 el acceso a la API de Google Ads es https://www.googleapis.com/auth/adwords. Además, puedes omitir el parámetro sub cuando crees el conjunto de declaraciones 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 /v24/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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, puedes generar un token de acceso nuevo para usarlo en llamadas a la API con la curl herramienta de línea de comandos:

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 de curl en el encabezado HTTP Authorization de cada llamada a la API de Google Ads:

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

Encabezados de la solicitud

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

Token del desarrollador

La API de Google Ads también requiere un token de desarrollador para realizar llamadas a la API. Si ya tienes un token de desarrollador, puedes encontrarlo en https://ads.google.com/aw/apicenter. Accede a tu cuenta de administrador de Google Ads si se te solicita. Si no tienes una, sigue las instrucciones para registrarte y obtener un token de desarrollador.

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

GET /v24/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 que realiza una cuenta de administrador a una cuenta de cliente (es decir, cuando se accede como cuenta de 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 todos 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 /v24/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

Los [proveedores de estadísticas de aplicaciones de terceros solo usan el encabezado ID de cliente vinculado cuando suben conversiones a una cuenta de Google Ads vinculada. Consulta la guía Estructura de la llamada 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 forma única la solicitud a la API. Cuando depuras o solucionas problemas con llamadas a la API específicas, el request-id es un identificador importante que debes tener a mano cuando te comunicas con el equipo de asistencia para desarrolladores de Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC