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

Cette section s'adresse 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 même 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 qu'un jeton d'accès autorise. 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 jobs par lot lorsque votre utilisateur n'est pas physiquement en ligne et ne navigue pas sur votre site Web. Les jetons d'accès ont une durée de vie de 3 600 secondes (1 heure). Après cette période, 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 Google sur OAuth 2.0.

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 associer un Credential à un Channel pour l'utiliser dans toutes les requêtes sur ce canal. Vous pouvez également envoyer des identifiants personnalisés pour chaque appel. Le guide d'autorisation gRPC contient plus d'informations sur la gestion des autorisations.

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}" \