Autorisation et en-têtes HTTP

Vidéo: authentification

Vous avez besoin d'identifiants d'application OAuth 2.0 et d'un jeton de développeur lorsque vous appelez l'API Google Ads. Si vous effectuez des appels d'API avec un compte administrateur Google Ads, vous devez également spécifier un en-tête login-customer-id avec chaque requête. Cette page explique comment définir ces valeurs et documente plusieurs en-têtes HTTP spécifiques aux API qui sont envoyés et reçus lors de l'utilisation de l'interface REST.

Identifiants OAuth 2.0

L'API Google Ads utilise des identifiants d'application pour identifier et autoriser les requêtes API. Les clients OAuth 2.0 et les comptes de service peuvent être configurés. Pour en savoir plus sur la configuration de l'autorisation côté client, consultez OAuth2 dans l'API Google Ads.

Si vous débutez avec les API Google, vous pouvez utiliser oauth2l ou OAuth 2.0 Playground pour tester les identifiants de l'application et l'API Google Ads avant d'écrire le code pour votre application.

Utiliser des flux d'applications Web ou de bureau

Suivez les étapes pour configurer un projet de console Google APIs pour l'API Google Ads. Notez l'ID client et le code secret du client, puis revenez sur cette page.

Une fois que vous avez créé un client OAuth, suivez les instructions de flux d'application de bureau ou les instructions de flux d'application Web pour générer un jeton d'actualisation et un jeton d'accès.

Utiliser les comptes de service

Suivez les instructions courantes du guide Comptes de service pour configurer l'accès au compte de service pour l'API Google Ads.

Une fois que vous avez configuré un compte de service pour accéder à votre compte Google Ads, suivez le guide Utiliser OAuth 2.0 pour les applications de serveur à serveur, en veillant à sélectionner l'onglet HTTP/REST. Le scope à utiliser pour accéder à l'API Google Ads est https://www.googleapis.com/auth/adwords.

Générer de nouveaux jetons d'accès

Une fois que vous disposez d'un ID client, d'un code secret du client et d'un jeton d'actualisation, vous pouvez générer un nouveau jeton d'accès à utiliser dans les appels d'API avec l'outil de ligne de commande 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

Vous utilisez ensuite le jeton d'accès renvoyé par la requête curl dans l'en-tête HTTP Authorization de chaque appel d'API à l'API Google Ads:

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

En-têtes de requête

Jeton de développeur

L'API Google Ads nécessite également un jeton de développeur pour appeler l'API. Vous pouvez demander un jeton pour votre compte administrateur directement depuis l'interface utilisateur Google Ads. Pour en savoir plus sur la configuration avec un jeton de développeur, consultez Obtenir votre jeton de développeur.

Vous devez inclure la valeur de votre jeton de développeur dans l'en-tête HTTP developer-token de chaque appel d'API à l'API Google Ads:

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

Numéro client associé à la connexion

Pour les appels d'API Google Ads effectués par un administrateur à un compte client (c'est-à-dire, lorsque vous vous connectez en tant qu'administrateur pour effectuer des appels d'API à l'un de ses comptes client), vous devez également fournir l'en-tête HTTP login-customer-id. Cette valeur représente le numéro client Google Ads du gestionnaire qui effectue l'appel d'API.

Inclure cet en-tête revient à choisir un compte dans l'interface utilisateur Google Ads après vous être connecté ou après avoir cliqué sur votre image de profil en haut à droite de la page. Lorsque vous spécifiez l'ID client, veillez à supprimer tous les traits d'union (—), par exemple 1234567890, et non 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

Numéro client associé

Cet en-tête n'est utilisé que par les fournisseurs de solutions d'analyse d'applications tiers lors de l'importation de conversions dans un compte Google Ads associé. Pour en savoir plus, consultez le guide de structure des appels d'API.

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

En-têtes de réponse

Les en-têtes suivants sont renvoyés dans les réponses HTTP de l'API.

Numéro de demande

request-id est une chaîne qui identifie de manière unique la requête API. Lors du débogage ou de la résolution de problèmes liés à des appels d'API spécifiques, request-id est un identifiant important à avoir à portée de main lorsque vous contactez l'assistance Google pour les développeurs.

request-id: 2a5Cj89VV7CNhya1DZjjrC