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 jeton d'accès unique 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 requête 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

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 lots lorsque votre utilisateur n'est pas physiquement en ligne et ne navigue pas sur votre site Web.

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 OAuth2 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

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 des identifiants personnalisés pour chaque appel. Pour en savoir plus sur la gestion de l' autorisation, consultez le guide d'autorisation gRPC.

En-têtes REST

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

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   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 "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \