Configuration

La bibliothèque cliente de l'API Google Ads fournit plusieurs paramètres de configuration que vous pouvez utiliser pour personnaliser le comportement de la bibliothèque.

Configuration à l'aide d'App.config

Tous les paramètres spécifiques à Google Ads API sont stockés dans le nœud GoogleAdsApi du fichier App.config. Voici un exemple de configuration App.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler" />
  </configSections>
  <GoogleAdsApi>
    <!-- Set the service timeout in milliseconds. -->
    <add key="Timeout" value="2000" />

    <!-- Proxy settings for library. -->
    <add key="ProxyServer" value="http://localhost:8888"/>
    <add key="ProxyUser" value=""/>
    <add key="ProxyPassword" value=""/>
    <add key="ProxyDomain" value=""/>

    <!-- API-specific settings -->
    <add key="DeveloperToken" value="******"/>

    <!-- OAuth2 settings -->
    <add key = "OAuth2Mode" value="APPLICATION"/>
    <add key = "OAuth2ClientId" value = "******.apps.googleusercontent.com" />
    <add key = "OAuth2ClientSecret" value = "******" />
    <add key = "OAuth2RefreshToken" value = "******" />
  </GoogleAdsApi>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
</configuration>

Spécifier un fichier App.config distinct

Si vous ne souhaitez pas que votre App.config soit encombré, vous pouvez déplacer la configuration spécifique à la bibliothèque dans son propre fichier de configuration à l'aide de la propriété configSource.

Étape 1: Spécifiez un objet ConfigSource dans votre fichier App.config

Modifiez votre App.config comme suit:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="GoogleAdsApi" type="System.Configuration.DictionarySectionHandler"/>
  </configSections>
  <GoogleAdsApi configSource="GoogleAdsApi.config"/>
…
</configuration>

Étape 2: Spécifiez le contenu de votre fichier de configuration

À présent, créez un autre fichier de configuration portant le nom que vous avez spécifié dans configSource et déplacez le nœud de configuration de votre App.config vers ce fichier:

<?xml version="1.0" encoding="utf-8" ?>
<GoogleAdsApi>
  … More settings.
</GoogleAdsApi>

Étape 3: Corrigez les règles de compilation dans votre script

Enfin, ajoutez un fichier de configuration dans votre projet. Définissez les propriétés de ce fichier sur Toujours copier dans le dossier de sortie.

Maintenant, créez et exécutez votre projet. Votre application commencera à récupérer les valeurs du nouveau fichier de configuration.

Configurer un fichier JSON personnalisé

Vous pouvez utiliser une instance IConfigurationRoot pour configurer la bibliothèque cliente.

Créer un fichier JSON

Créez un fichier JSON nommé GoogleAdsApi.json avec une structure semblable à celle du fichier App.config.

{
    "Timeout": "2000",

    "ProxyServer": "http://localhost:8888",
    "ProxyUser": "",
    "ProxyPassword": "",
    "ProxyDomain": "",

    "DeveloperToken": "******",

    "OAuth2Mode": "APPLICATION",
    "OAuth2ClientId": "******.apps.googleusercontent.com",
    "OAuth2ClientSecret": "******",
    "OAuth2RefreshToken": "******",
}

Charger la configuration

Ensuite, chargez le fichier JSON dans un IConfigurationRoot.

ConfigurationBuilder builder = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("GoogleAdsApi.json");
IConfigurationRoot configRoot = builder.Build();

GoogleAdsConfig config = new GoogleAdsConfig(configRoot);
GoogleAdsClient client = new GoogleAdsClient(config);

Configuration à l'aide du fichier settings.json

Le processus est semblable à celui d'un fichier JSON personnalisé, sauf que les clés doivent se trouver dans une section nommée GoogleAdsApi:

{
    "GoogleAdsApi":
    {
        "DeveloperToken": "******",
        "OAuth2Mode": "APPLICATION",
        "OAuth2ClientId": "******.apps.googleusercontent.com",
        "OAuth2ClientSecret": "******",
        "OAuth2RefreshToken": "******",
        ...
    }
    // More settings...
}

Vous pouvez ensuite utiliser l'instance IConfiguration sur votre page:

IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig(section);
GoogleAdsClient client = new GoogleAdsClient(config);

Configurer la bibliothèque au moment de l'exécution

Vous pouvez également initialiser GoogleAdsClient au moment de l'exécution.

Exemple 1: Initialiser la configuration au moment de l'exécution

GoogleAdsConfig config = new GoogleAdsConfig()
{
    DeveloperToken = "******",
    OAuth2Mode = "APPLICATION",
    OAuth2ClientId = "******.apps.googleusercontent.com",
    OAuth2ClientSecret = "******",
    OAuth2RefreshToken = "******"
};

GoogleAdsClient client = new GoogleAdsClient(config);

Exemple 2: Charger à partir d'App.config, mais ignorer un paramètre

GoogleAdsClient client = new GoogleAdsClient(config);
client.Config.DeveloperToken = "******";

Configurer la bibliothèque à l'aide de variables d'environnement

Vous pouvez également initialiser GoogleAdsClient à l'aide de variables d'environnement. Ces paramètres ne sont pas récupérés automatiquement. Vous devez également charger les paramètres des variables d'environnement comme illustré ci-dessous.

GoogleAdsConfig config = new GoogleAdsConfig();
config.LoadFromEnvironmentVariables();
GoogleAdsClient client = new GoogleAdsClient(config);

Pour consulter la liste complète des variables d'environnement compatibles, cliquez ici.

Champs de configuration

Vous trouverez ci-dessous la liste des paramètres acceptés par la bibliothèque .NET Google Ads.

Paramètres de connectivité

  • Timeout : utilisez cette clé pour définir le délai d'expiration du service en millisecondes. La valeur par défaut est définie en fonction du paramètre method_config/timeout dans googleads_grpc_service_config.json. Définissez une valeur inférieure si vous devez appliquer une limite plus courte pour la durée maximale d'un appel d'API. Vous pouvez définir le délai avant expiration sur deux heures ou plus, mais l'API peut quand même expirer dans les requêtes de très longue durée et renvoyer une erreur DEADLINE_EXCEEDED.
  • ProxyServer: définissez cette URL sur l'URL du serveur proxy HTTP si vous utilisez un proxy pour vous connecter à Internet.
  • ProxyUser : définissez ce nom d'utilisateur pour authentifier le serveur proxy. Laissez ce champ vide si un nom d'utilisateur n'est pas nécessaire.
  • ProxyPassword : définissez ce mot de passe sur ProxyUser si vous définissez une valeur pour ProxyUser.
  • ProxyDomain: définissez ce domaine sur le domaine de ProxyUser si vous souhaitez en définir un sur votre serveur proxy.
  • MaxReceiveMessageLengthInBytes: utilisez ce paramètre pour augmenter la taille maximale de la réponse d'API que la bibliothèque cliente peut gérer. La valeur par défaut est de 64 Mo.
  • MaxMetadataSizeInBytes : utilisez ce paramètre pour augmenter la taille maximale de la réponse d'erreur de l'API que la bibliothèque cliente peut gérer. La valeur par défaut est de 16 Mo.

Paramètres OAuth2

Lorsque vous utilisez OAuth2 pour autoriser vos appels aux serveurs de l'API Google Ads, vous devez définir les clés de configuration suivantes:

  • AuthorizationMethod: doit être défini sur OAuth2.
  • OAuth2Mode: doit être défini sur APPLICATION ou SERVICE_ACCOUNT.
  • OAuth2ClientId : définissez cette valeur sur votre ID client OAuth2.
  • OAuth2ClientSecret : définissez cette valeur sur votre secret client OAuth2.
  • OAuth2Scope : définissez cette valeur sur différentes habilitations si vous souhaitez autoriser des jetons OAuth2 pour plusieurs API. Ce paramètre est facultatif.

Si vous utilisez OAuth2Mode == APPLICATION, vous devez définir les clés de configuration supplémentaires suivantes.

  • OAuth2RefreshToken : si vous souhaitez réutiliser les jetons OAuth2, définissez cette valeur sur un jeton d'actualisation OAuth2 prégénéré. Ce paramètre est facultatif.
  • OAuth2RedirectUri : définissez cette valeur sur l'URL de redirection OAuth2. Ce paramètre est facultatif.

Pour en savoir plus, consultez les guides suivants:

Si vous utilisez OAuth2Mode == SERVICE_ACCOUNT, vous devez définir les clés de configuration supplémentaires suivantes.

  • OAuth2PrnEmail : définissez cette valeur sur l'adresse e-mail du compte auquel vous êtes substitué.
  • OAuth2SecretsJsonPath : définissez cette valeur sur le chemin du fichier de configuration JSON OAuth2.

Pour en savoir plus, consultez le guide sur le flux de compte de service OAuth.

Les paramètres suivants sont spécifiques à l'API Google Ads.

  • DeveloperToken: définissez ce jeton sur votre jeton de développeur.
  • LoginCustomerId: numéro du client autorisé à utiliser dans la requête, sans traits d'union (-).
  • LinkedCustomerId: cet en-tête n'est requis que pour les méthodes qui mettent à jour les ressources d'une entité lorsqu'il est autorisé via des comptes associés dans l'interface utilisateur Google Ads (ressource AccountLink dans l'API Google Ads). Définissez cette valeur sur le numéro client du fournisseur de données qui met à jour les ressources du numéro client spécifié. Il ne doit pas comporter de tiret (-). Pour en savoir plus sur les comptes associés, consultez le Centre d'aide.