Ce guide explique comment accéder à l'API Google Ads à l'aide 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, mais un fichier de clé auquel seule votre application peut accéder.
L'utilisation de comptes de service offre deux avantages clés :
L'autorisation d'accès à l'API Google Ads pour les comptes Google Ads s'effectue lors d'une étape de configuration, en exploitant les fonctionnalités d'autorisation et de gestion des comptes proposées par l'interface utilisateur de Google Ads. Cela permet aux développeurs de ne pas avoir à créer de flux OAuth 2.0 et de gérer les complications liées à l'interaction utilisateur, au stockage des identifiants utilisateur et à la gestion des jetons.
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 être maintenue même si l'employé qui a initialement autorisé l'accès quitte l'équipe ou l'entreprise.
Configuration de l'accès au compte
Commencez par créer un compte de service et des identifiants.
Téléchargez la clé du compte de service au format JSON, puis notez l'ID et l'adresse e-mail du compte de service.
Connectez-vous à votre compte Google Ads en tant qu'administrateur. Accédez à Admin > Accès et sécurité.
Cliquez sur le bouton + sous l'onglet Users (Utilisateurs).
Saisissez l'adresse e-mail du compte de service dans le champ Adresse e-mail. Sélectionnez le niveau d'accès au compte approprié (notez que les comptes de service ne sont pas compatibles avec le niveau d'accès E-mail uniquement), puis cliquez sur le bouton Ajouter un compte.
Le compte de service se voit accorder l'accès.
Facultatif : Par défaut, vous ne pouvez pas accorder d'accès administrateur à un compte de service. Suivez le principe du moindre privilège et n'accordez l'accès administrateur que si vos appels d'API l'exigent. 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 Admin dans la liste déroulante.
Configuration de la bibliothèque cliente
Sélectionnez l'onglet correspondant à votre langage de programmation pour savoir comment configurer votre bibliothèque cliente. Si votre compte de service accède aux comptes client via un compte administrateur Google Ads, définissez également login-customer-id (ou loginCustomerId) sur le numéro client à 10 chiffres de ce compte administrateur, sans tirets (voir Numéro client de connexion).
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.
.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 = "JSON_KEY_FILE_PATH",
// ...
};
GoogleAdsClient client = new GoogleAdsClient(config);
Pour en savoir plus, consultez le guide de configuration.
Python
Définissez le chemin d'accès JSON de la clé privée dans votre configuration. Si vous utilisez un fichier google-ads.yaml, une chaîne YAML ou dict, ajoutez ce qui suit :
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
Pour en savoir plus, consultez le guide de configuration.
PHP
Configurez les clés suivantes dans votre fichier google_ads_php.ini.
[OAUTH2]
; For service account flow.
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"
Pour en savoir plus, consultez le guide de configuration.
Ruby
Configurez les clés suivantes dans votre fichier google_ads_config.rb.
c.keyfile = 'JSON_KEY_FILE_PATH'
Pour en savoir plus, consultez le guide de configuration.
Perl
Définissez le chemin d'accès JSON de la clé privée dans votre configuration. Si vous utilisez un fichier googleads.properties, ajoutez ce qui suit :
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
Pour en savoir plus, consultez le guide de configuration.
curl
Commencez par définir le compte de service comme identifiant actif dans la gcloud CLI.
gcloud auth login --cred-file=JSON_KEY_FILE_PATHEnsuite, 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 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 méthode GoogleAdsService.SearchStream 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/v26/customers/CUSTOMER_ID/googleAds:searchStream \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ACCESS_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"
}