Comme les autres API Google, l'API Google Ads utilise le protocole OAuth 2.0 pour l'authentification et l'autorisation. OAuth 2.0 permet à votre application cliente de l'API Google Ads d'accéder au compte Google Ads d'un utilisateur sans avoir à gérer ni à stocker ses informations de connexion.
Comprendre le modèle d'accès Google Ads
Pour utiliser efficacement l'API Google Ads, vous devez comprendre le fonctionnement du modèle d'accès Google Ads. Nous vous recommandons vivement de lire le guide sur le modèle d'accès Google Ads.
Workflows OAuth
Trois workflows courants sont utilisés lorsque vous travaillez avec l'API Google Ads.
Flux du compte de service
Il s'agit du workflow recommandé si votre workflow ne nécessite aucune interaction humaine. Ce workflow nécessite une étape de configuration, au cours de laquelle l'utilisateur ajoute un compte de service à son compte Google Ads. L'application peut ensuite utiliser les identifiants du compte de service pour gérer le compte Google Ads de l'utilisateur. La bibliothèque est configurée comme suit :
// Initialize a GoogleAdsConfig class.
GoogleAdsConfig config = new GoogleAdsConfig()
{
DeveloperToken = "******",
OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",
LoginCustomerId = ******
};
// Initialize a GoogleAdsClient class.
GoogleAdsClient client = new GoogleAdsClient(config);
Pour en savoir plus, consultez le guide sur le workflow des comptes de service.
Flux d'authentification mono-utilisateur
Vous pouvez utiliser ce workflow si vous ne pouvez pas utiliser de comptes de service. Ce workflow nécessite deux étapes de configuration :
- Autorisez un seul utilisateur à accéder à tous les comptes à gérer à l'aide de l'API Google Ads. Une approche courante consiste à accorder à l'utilisateur l'accès à un compte administrateur de l'API Google Ads et à associer tous les comptes Google Ads à ce compte administrateur.
- L'utilisateur exécute un outil de ligne de commande tel que gcloud ou l'exemple de code
GenerateUserCredentials
pour autoriser votre application à gérer tous ses comptes Google Ads en son nom.
La bibliothèque peut être initialisée à l'aide des identifiants OAuth 2.0 de l'utilisateur comme suit :
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
Pour en savoir plus, consultez le guide du workflow d'authentification pour un seul utilisateur.
Flux d'authentification multi-utilisateur
Il s'agit du workflow recommandé si votre application permet aux utilisateurs de se connecter et d'autoriser votre application à gérer leurs comptes Google Ads en leur nom. Votre application crée et gère les identifiants utilisateur OAuth 2.0. La bibliothèque peut être initialisée à l'aide des identifiants de l'utilisateur comme suit :
GoogleAdsConfig googleAdsConfig = new GoogleAdsConfig()
{
DeveloperToken = DEVELOPER_TOKEN,
LoginCustomerId = LOGIN_CUSTOMER_ID,
OAuth2ClientId = OAUTH_CLIENT_ID,
OAuth2ClientSecret = OAUTH_CLIENT_SECRET,
OAuth2RefreshToken = REFRESH_TOKEN,
};
GoogleAdsClient googleAdsClient = new GoogleAdsClient(googleAdsConfig);
Pour en savoir plus, consultez le guide du workflow d'authentification multi-utilisateur. La bibliothèque cliente .NET inclut deux exemples de code pour référence :
L'exemple de code
AuthenticateInAspNetCoreApplication
montre comment créer une application Web qui obtient l'authentification de l'utilisateur au moment de l'exécution pour gérer ses comptes Google Ads en son nom. L'application utilise les identifiants OAuth 2.0 de l'utilisateur pour récupérer les campagnes de son compte Google Ads.GenerateUserCredentials est un exemple de code en ligne de commande qui montre comment obtenir l'authentification de l'utilisateur au moment de l'exécution pour gérer ses comptes Google Ads en son nom. Vous pouvez utiliser cet exemple de code comme référence pour créer des applications de bureau nécessitant l'authentification des utilisateurs.
Que se passe-t-il si mon utilisateur gère plusieurs comptes ?
Il est courant qu'un utilisateur gère plusieurs comptes Google Ads, soit en y accédant directement, soit via un compte administrateur Google Ads. La bibliothèque cliente .NET fournit les exemples de code suivants qui illustrent comment gérer de tels cas.
- L'exemple de code GetAccountHierarchy montre comment récupérer la liste de tous les comptes d'un compte administrateur Google Ads.
- L'exemple de code ListAccessibleCustomers montre comment récupérer la liste de tous les comptes auxquels un utilisateur a un accès direct.
Ces comptes peuvent ensuite être utilisés comme valeurs valides pour le paramètre
LoginCustomerId
.
Identifiants par défaut de l'application
La bibliothèque cliente .NET est également compatible avec l'authentification à l'aide des identifiants par défaut de l'application.
Cela est particulièrement utile pour le développement local ou pour le développement avec différentes API Google, car vous pouvez réutiliser les mêmes identifiants, à condition qu'ils puissent accéder aux habilitations OAuth 2.0 appropriées.
Pour l'API Google Ads, assurez-vous que les identifiants par défaut de votre application peuvent accéder au champ d'application OAuth2.0 https://www.googleapis.com/auth/adwords
.
Pour utiliser les identifiants par défaut de l'application, définissez l'option UseApplicationDefaultCredentials
sur true
dans votre GoogleAdsConfig
. Vous pouvez le faire de la même manière que pour définir d'autres propriétés de configuration dans la bibliothèque cliente, c'est-à-dire dans votre code, dans un fichier de configuration ou à l'aide de variables d'environnement.
Consultez la page de configuration pour en savoir plus sur les options disponibles pour configurer la bibliothèque cliente .NET.