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

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 qu'il 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 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 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. 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}" \