Workflow du compte de service

Ce guide explique comment accéder à l'API Google Ads avec des comptes de service.

Un compte de service est un compte qui appartient à votre application et non à un utilisateur final. Les comptes de service utilisent un flux OAuth 2.0 qui ne nécessite pas d'autorisation humaine. Ils utilisent plutôt un fichier clé auquel seule votre application peut accéder.

L'utilisation de comptes de service présente deux avantages clés :

  • L'autorisation d'accès à l'API Google Ads pour les comptes Google Ads est effectuée en tant qu'étape de configuration, en tirant parti des fonctionnalités d'autorisation et de gestion des comptes proposées par l'interface utilisateur Google Ads. Cela permet aux développeurs de gagner du temps, car ils n'ont pas à créer de flux OAuth 2.0 ni à gérer les complications liées à l'interaction utilisateur, au stockage des identifiants utilisateur, etc.

  • L'autorisation d'accès aux comptes Google Ads n'est pas liée aux identifiants d'un utilisateur individuel, ce qui peut être utile dans les cas où cette autorisation doit continuer à s'appliquer même si l'employé qui l'a initialement autorisée quitte l'équipe ou l'entreprise.

Configurer l'accès au compte

  1. Commencez par créer un compte de service et des identifiants.

    Téléchargez la clé du compte de service au format JSON et notez l'ID et l'adresse e-mail du compte de service.

  2. Connectez-vous à votre compte Google Ads en tant qu'administrateur. Accédez à Admin > Accès et sécurité.

  3. Cliquez sur le bouton + sous l'onglet Utilisateurs.

  4. Saisissez l'adresse e-mail du compte de service dans le champ de saisie Adresse e-mail. Sélectionnez le niveau d'accès approprié au compte, puis cliquez sur le bouton Ajouter un compte.

  5. L'accès est accordé au compte de service.

  6. [Facultatif] Par défaut, vous ne pouvez pas accorder d'accès administrateur à un compte de service. Si vos appels d'API nécessitent un accès administrateur, vous pouvez mettre à niveau l'accès comme suit.

    • Cliquez sur la flèche du menu déroulant à côté du niveau d'accès du compte de service dans la colonne Niveau d'accès.
    • Sélectionnez Administrateur dans la liste déroulante.

Configurer la bibliothèque cliente

Sélectionnez l'onglet correspondant à votre langage de programmation pour obtenir des instructions sur la configuration de votre bibliothèque cliente.

Java

Définissez le chemin d'accès JSON de la clé privée dans votre configuration. Si vous utilisez un fichier ads.properties, ajoutez les éléments suivants :

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH

Pour en savoir plus, consultez le guide de configuration pour plus de détails.

.NET

Définissez OAuth2Mode et OAuth2SecretsJsonPath sur l'instance GoogleAdsConfig, puis utilisez-la pour initialiser l'objet GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "PATH_TO_JSON_SECRETS_PATH",
    ...
};
GoogleAdsClient client = new GoogleAdsClient(config);

Pour en savoir plus, consultez le guide de configuration pour plus de détails.

Python

Définissez le chemin d'accès JSON de la clé privée dans votre configuration. Si vous utilisez un google-ads.yaml file, une chaîne YAML ou un dict, ajoutez les éléments suivants :

json_key_file_path: JSON_KEY_FILE_PATH

Si vous utilisez des variables d'environnement, ajoutez les éléments suivants à votre configuration ou environnement Bash :

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

PHP

Configurez les clés suivantes dans votre fichier google_ads_php.ini. Pour en savoir plus, consultez le guide de configuration.

; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Ruby

Configurez les clés suivantes dans votre google_ads_config.rb.

c.keyfile = 'JSON_KEY_FILE_PATH'

Perl

Définissez le chemin d'accès JSON de la clé privée et l'ID du compte délégué dans votre configuration. Si vous utilisez un fichier googleads.properties, ajoutez les éléments suivants :

jsonKeyFilePath=JSON_KEY_FILE_PATH

Si vous utilisez des variables d'environnement, ajoutez les éléments suivants à votre configuration ou environnement Bash :

export GOOGLE_ADS_JSON_KEY_FILE_PATH=JSON_KEY_FILE_PATH

curl

Commencez par définir le compte de service comme identifiants actifs dans gcloud CLI.

gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON

Ensuite, récupérez un jeton d'accès OAuth 2.0 pour l'API Google Ads.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

Vous pouvez maintenant utiliser le jeton d'accès dans vos appels d'API. L'exemple suivant montre comment exécuter un rapport sur les campagnes à l'aide de la GoogleAdsService.SearchStream méthode pour récupérer les campagnes de votre compte. Ce guide ne couvre pas les détails des rapports.

curl -i -X POST https://googleads.googleapis.com/v24/customers/CUSTOMER_ID/googleAds:searchStream \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer ACCESS_TOKEN" \
   -H "developer-token: DEVELOPER_TOKEN" \
   -H "login-customer-id: LOGIN_CUSTOMER_ID" \
   --data-binary "@query.json"

Le contenu de query.json est le suivant :

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}