Cuando llamas a la API de Google Ads, necesitas credenciales 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 de REST.
Credenciales de OAuth 2.0
La API de Google Ads usa OAuth 2.0 para autorizar solicitudes a la API. Se admiten tanto el flujo de autenticación del usuario como el flujo de la cuenta de servicio de OAuth 2.0. 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 la CLI 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 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. A continuación, sigue las instrucciones comunes de la guía de 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. A continuación, 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 debe usar para acceder 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 Cómo usar 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 objeto 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 declaraciones del 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 suplantar a 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 /v22/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 nuevo token de acceso para usar en las llamadas a la API con la herramienta de línea de comandos 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 devolvió la solicitud de curl en el encabezado HTTP Authorization
de cada llamada a la API de Google Ads:
GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
Encabezados de la solicitud
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. Si se te solicita, accede a tu cuenta de administrador de Google Ads. Si no tienes uno, 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 /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
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 se 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 del 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 /v22/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
El encabezado Linked customer ID solo lo utilizan los [proveedores de estadísticas de aplicaciones de terceros 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 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 el equipo de asistencia para desarrolladores de Google.
request-id: 2a5Cj89VV7CNhya1DZjjrC