Fonctionnement interne d'OAuth 2.0 pour l'API Google Ads

Cette section est destinée aux utilisateurs avancés qui connaissent déjà la spécification OAuth 2.0 et savent comment utiliser OAuth 2.0 avec les API Google.

Champ d'application

Un seul jeton d'accès peut accorder différents niveaux d'accès à plusieurs API. Un paramètre variable appelé scope contrôle l'ensemble des ressources et des opérations autorisées par un jeton d'accès. Lors de la demande de jeton d'accès, votre application envoie une ou plusieurs valeurs dans le paramètre scope.

Le champ d'application de l'API Google Ads est le suivant :

https://www.googleapis.com/auth/adwords

Accès hors connexion et durée de vie des jetons

Il est courant qu'une application cliente de l'API Google Ads demande un accès hors connexion. Par exemple, votre application peut vouloir exécuter des tâches par lot lorsque votre utilisateur ne navigue pas physiquement sur votre site Web. Les jetons d'accès ont une durée de vie de 3 600 secondes (1 heure), après quoi votre application doit échanger un jeton d'actualisation contre un nouveau jeton d'accès.

Pour demander un accès hors connexion pour un type d'application Web, assurez-vous de définir le paramètre access_type sur offline. Pour en savoir plus, consultez le guide OAuth 2.0 de Google.

Pour le type d'application de bureau, l'accès hors connexion est activé par défaut. Vous n'avez pas besoin de le demander explicitement.

En-têtes de requête

Toutes les requêtes adressées à l'API Google Ads doivent inclure le jeton d'accès OAuth 2.0 dans l'en-tête de requête. Les sections suivantes décrivent comment transmettre ces identifiants à l'aide de gRPC et de REST.

En-têtes gRPC

Lorsque vous utilisez l'API gRPC, incluez le jeton d'accès dans chaque requête. Vous pouvez lier un Credential à un Channel pour l'utiliser dans toutes les requêtes de ce canal. Vous pouvez également envoyer un identifiant personnalisé pour chaque appel. Le guide d'autorisation gRPC contient plus d'informations sur la gestion de l'autorisation.

En-têtes REST

Lorsque vous utilisez l'API REST, transmettez le jeton d'accès via l'en-tête HTTP Authorization: Bearer <ACCESS_TOKEN>. Voici un exemple de requête HTTP :

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \