Ce guide explique comment accéder à l'API Google Ads à l'aide de comptes de service.
Un compte de service est un compte qui appartient à votre application et non à un utilisateur final individuel. Les comptes de service utilisent un flux OAuth 2.0 qui ne nécessite aucune 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éder aux comptes Google Ads via l'API Google Ads est une étape de configuration qui utilise les fonctionnalités d'autorisation et de gestion de compte proposées par l'UI Google Ads. Cela permet aux développeurs de gagner du temps en évitant de créer des flux OAuth 2.0 et de gérer les complications liées à l'interaction utilisateur, au stockage des identifiants utilisateur, etc.
L'autorisation d'accéder aux comptes Google Ads n'est pas liée aux identifiants d'utilisateur individuels. Cela peut être utile dans les cas où cette autorisation doit se poursuivre même si l'employé qui l'a accordée à l'origine quitte l'équipe ou l'entreprise.
Configurer 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 et 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 + dans l'onglet Utilisateurs.
Saisissez l'adresse e-mail du compte de service dans la zone de saisie Adresse e-mail. Sélectionnez le niveau d'accès au compte approprié, puis cliquez sur le bouton Ajouter un compte. Notez que les niveaux d'accès "E-mail" et "Administrateur" ne sont pas compatibles avec les comptes de service.
L'accès est accordé au compte de service.
Configuration de 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 lignes suivantes :
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 = "PATH_TO_JSON_SECRETS_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 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 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 lignes suivantes :
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 la 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 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/v21/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"
}