Autorización y encabezados HTTP

Video: Autenticación

Necesitas las credenciales de aplicación de OAuth 2.0 y un token de desarrollador para llamar 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 REST.

Credenciales de OAuth 2.0

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

Si eres nuevo en 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 tu app.

Usar flujos de aplicaciones web o de escritorio

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, luego regresa a esta página.

Una vez que hayas creado un cliente de OAuth, sigue las instrucciones del flujo de la app para computadoras de escritorio o las instrucciones del flujo de la app 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 configures 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 debe usar para el acceso 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, usa el token de acceso que mostró la solicitud curl en el encabezado HTTP Authorization de cada llamada a la API de Google Ads:

GET /v17/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 acerca de 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 /v17/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 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.

GET /v17/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 apps de terceros utilizan este encabezado cuando se suben conversiones a 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
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 exclusiva 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 comuniques con el equipo de asistencia para desarrolladores de Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC