Configuration

<ph type="x-smartling-placeholder">

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

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

La méthode privilégiée pour configurer la bibliothèque cliente consiste à initialiser GoogleAdsConfig lors de l'exécution:

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

GoogleAdsClient client = new GoogleAdsClient(config);

Autres options de configuration

Nous proposons également des options supplémentaires pour configurer la bibliothèque cliente : les activer, ajoutez une référence Nuget au Google.Ads.GoogleAds.Extensions package dans votre projet.

Si vous utilisez l'une de ces options, les paramètres de configuration ne sont pas récupérés. automatiquement: vous devez les charger explicitement comme indiqué ci-dessous.

Configurer à l'aide d'App.config

Tous les paramètres propres à Google Ads API sont stockés dans GoogleAdsApi nœud du fichier App.config. Une configuration type App.config se présente comme suit : ce qui suit:

<?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>

Pour charger les paramètres de configuration à partir d'un fichier App.config, appelez la méthode Méthode LoadFromDefaultAppConfigSection sur un objet GoogleAdsConfig:

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

Spécifier un fichier App.config distinct

Pour ne pas surcharger votre App.config, vous pouvez déplacer la configuration spécifique à la bibliothèque dans son propre fichier de configuration à l'aide de la méthode configSource .

Étape 1: Spécifiez une source configSource dans votre fichier App.config

Modifiez votre App.config pour qu'il se présente 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

Créez maintenant un autre fichier de configuration portant le nom spécifié dans configSource. Déplacez ensuite le nœud de configuration de votre fichier 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 fichier csproj

Enfin, incluez le nouveau fichier de configuration dans votre projet. Modifier les propriétés de ce fichier dans Toujours copier dans le dossier de sortie.

Maintenant, créez et exécutez votre projet. Votre application commencera à collecter des valeurs à partir du nouveau fichier de configuration.

Configuration à l'aide d'un fichier JSON personnalisé

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

Créer un fichier JSON

Créez un fichier JSON nommé GoogleAdsApi.json ayant 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

Chargez ensuite le fichier JSON dans un IConfigurationRoot.

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

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

Configuration avec settings.json

Ici, le processus est semblable à celui d'un fichier JSON personnalisé, si ce n'est 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();
config.LoadFromConfigurationSection(section);
GoogleAdsClient client = new GoogleAdsClient(config);

Configuration à l'aide de variables d'environnement

Vous pouvez également initialiser GoogleAdsClient à l'aide de variables d'environnement:

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

Voir la liste complète des environnements compatibles variables.

Champs de configuration

Vous trouverez ci-dessous la liste des paramètres compatibles avec la bibliothèque .NET de Google Ads.

Paramètres de connectivité

  • Timeout: utilisez cette clé pour définir le délai avant expiration du service, en millisecondes. La 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 pour un appel d'API. Vous pouvez définir le délai avant expiration sur deux heures ou plus, mais l'API peut les requêtes de très longue durée et en renvoyant une Erreur DEADLINE_EXCEEDED.
  • ProxyServer: indiquez l'URL du serveur proxy HTTP si vous utilisez un pour se connecter à Internet.
  • ProxyUser: indiquez le nom d'utilisateur auprès duquel vous souhaitez vous authentifier. au serveur proxy. Laissez ce champ vide si le nom d'utilisateur n'est pas obligatoire.
  • ProxyPassword: à définir sur le mot de passe de ProxyUser si vous avez défini une valeur pour ProxyUser.
  • ProxyDomain: à définir sur le domaine de ProxyUser si votre serveur proxy nécessite d'en définir un.
  • MaxReceiveMessageLengthInBytes: utilisez ce paramètre pour augmenter la valeur maximale de la réponse de l'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 valeur maximale la taille de la réponse d'erreur de l'API que la bibliothèque cliente peut gérer. La la valeur par défaut est 16 Mo.

Ajustez MaxReceiveMessageLengthInBytes et MaxMetadataSizeInBytes. pour corriger certaines erreurs ResourceExhausted. Ces paramètres permettent au format Status(StatusCode="ResourceExhausted",Detail="Received message larger than max (423184132 versus 67108864)".

Dans cet exemple, l'erreur est due à la taille du message (423184132 bytes). plus volumineux que ce que la bibliothèque peut gérer (67108864 bytes). Augmenter MaxReceiveMessageLengthInBytes à 500000000 pour éviter cette erreur.

Notez que l'erreur indique également que votre code a traité une quantité importante un objet Response volumineux (comme un grand SearchGoogleAdsResponse). Ce peut avoir une incidence sur les performances de votre code, en raison des objets volumineux de .NET Segment de mémoire. Si cela pose un problème de performances, vous devrez peut-être explorer réorganiser vos appels d'API ou repenser certaines parties de votre application.

Paramètres OAuth2

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

  • Définissez AuthorizationMethod sur OAuth2.
  • OAuth2Mode: définie sur APPLICATION ou SERVICE_ACCOUNT.
  • OAuth2ClientId: définissez cette valeur sur votre ID client OAuth2.
  • OAuth2ClientSecret: indiquez le code secret du client OAuth2.
  • OAuth2Scope: définissez cette valeur sur différentes portées si vous souhaitez autoriser Jetons OAuth2 pour plusieurs API. Ce paramètre est facultatif.

Si vous utilisez OAuth2Mode == APPLICATION, vous devez définir les paramètres suivants : clés de configuration supplémentaires.

  • OAuth2RefreshToken: définissez cette valeur sur un jeton d'actualisation OAuth2 prégénéré. si vous souhaitez réutiliser les jetons OAuth2. 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 à l'aide de clés de configuration supplémentaires.

  • OAuth2PrnEmail: indiquez l'adresse e-mail du compte que vous utilisez l'usurpation d'identité.
  • OAuth2SecretsJsonPath: définissez cette valeur sur la configuration JSON OAuth2. chemin d'accès au fichier.

Consultez le flux de compte de service OAuth. pour en savoir plus.

Paramètres de Transport

  • UseGrpcCore: définissez ce paramètre sur true pour utiliser la bibliothèque Grpc.Core comme couche de transport sous-jacente. Consultez la compatibilité de gRPC guide pour plus d'informations.

Paramètres de l'API Google Ads

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

  • DeveloperToken: indiquez votre jeton de développeur.
  • LoginCustomerId: numéro client du client autorisé à utiliser dans la requête, sans les traits d'union (-).
  • LinkedCustomerId: cet en-tête n'est requis que pour les méthodes qui mettent à jour le ressources d'une entité lorsqu'elles y sont autorisées via des comptes associés dans Interface utilisateur Google Ads (ressource AccountLink dans l'API Google Ads) Définissez cette valeur sur l'ID client du fournisseur de données qui met à jour les ressources du numéro client. Il doit être défini sans trait d'union (-). En savoir plus sur l'association Comptes.