Configuration

La configuration est gérée à l'aide de la classe Config. Vous pouvez configurer le client à l'aide d'un fichier de configuration, en spécifiant des valeurs de manière dynamique lors de la création ou en chargeant des valeurs à partir de variables d'environnement.

Fichier de configuration

Vous pouvez spécifier un fichier google_ads_config.rb à utiliser lors de l'instanciation du client.

Si vous ne transmettez aucun argument lors de l'instanciation d'un objet GoogleAdsClient, la bibliothèque recherche un fichier de configuration dans l'ordre suivant :

  1. Le chemin d'accès spécifié dans la variable d'environnement GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Un fichier nommé google_ads_config.rb dans votre répertoire HOME (~/google_ads_config.rb).

Vous pouvez également transmettre un chemin d'accès explicite lors de l'instanciation de l'objet GoogleAdsClient :

client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')

Pour générer ce fichier, copiez google_ads_config.rb à partir du dépôt GitHub et modifiez-le pour inclure votre jeton d'actualisation, votre ID client et votre code secret du client.

Configuration dynamique

Vous pouvez configurer la bibliothèque de manière dynamique lors de son instanciation :

client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
  config.client_id = 'INSERT_CLIENT_ID_HERE'
  # ... additional configuration
end

Vous pouvez également modifier la configuration après l'instanciation (ce qui remplace les paramètres chargés lors de l'initialisation) :

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
  # ... additional configuration
end

Champs de configuration

L'objet Config accepte les champs suivants.

Champs généraux :

  • refresh_token : votre jeton d'actualisation OAuth (GOOGLE_ADS_REFRESH_TOKEN).
  • client_id : votre ID client OAuth (GOOGLE_ADS_CLIENT_ID).
  • client_secret : votre code secret du client OAuth (GOOGLE_ADS_CLIENT_SECRET).
  • keyfile : chemin d'accès à un fichier de clé JSON de compte de service (GOOGLE_ADS_JSON_KEY_FILE_PATH).
  • impersonate : adresse e-mail à emprunter lors de l'utilisation d'un compte de service avec délégation au niveau du domaine (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials : définissez cette valeur sur true pour vous authentifier à l'aide des identifiants par défaut de l'application (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Compatible avec google-ads-googleads v36.1.0 et versions ultérieures.
  • authentication : objet d'authentification personnalisé, tel qu'un Proc (updater_proc), un chemin d'accès au fichier de clé ou Hash, ou GRPC::Core::Channel/GRPC::Core::ChannelCredentials. Remplace client_id, client_secret, refresh_token et keyfile.
  • login_customer_id : consultez la documentation sur login-customer-id (GOOGLE_ADS_LOGIN_CUSTOMER_ID).
  • linked_customer_id : Numéro client associé (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant : identifiant facultatif pour l'en-tête de l'assistant de l'API Google Ads (GOOGLE_ADS_ASSISTANT ; ajouté en tant que gaada dans la version 37.0.0 et renommé ads_assistant dans la version 39.0.0).
  • http_proxy : URI de proxy HTTP ou HTTPS facultatif (GOOGLE_ADS_RUBY_HTTP_PROXY).
  • api_endpoint : remplacement facultatif du point de terminaison de l'API (GOOGLE_ADS_ENDPOINT).
  • treat_deprecation_warnings_as_errors : génère une exception au lieu d'appeler Warning#warn lorsque le code de la bibliothèque obsolète est appelé (false par défaut).
  • warn_on_all_deprecations : émet un avertissement d'abandon à chaque appel plutôt qu'une fois par site d'appel (false par défaut).

Champs de journal (pour en savoir plus, consultez le guide sur la journalisation) :

  • log_level : niveau de journalisation minimal des messages que vous souhaitez consigner. Par exemple, la spécification de 'DEBUG' consigne tous les messages, et la spécification de 'INFO' exclut les messages DEBUG tout en affichant tous les autres messages.
  • log_target : emplacement où vous souhaitez consigner les journaux, par exemple STDERR ou un chemin d'accès.
  • logger : spécifiez votre propre enregistreur personnalisé. La spécification de cette option remplace log_level et log_target.

Variables d'environnement

Vous pouvez configurer la bibliothèque cliente à l'aide de variables d'environnement. Elles ne sont pas chargées par défaut et nécessitent un appel explicite après l'instanciation du client pour être chargées. Consultez la liste complète des variables d'environnement standards.

Pour charger les variables d'environnement dans votre Config, appelez load_environment_config :

client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config

Chaque fois que load_environment_config est appelé, toutes les variables d'environnement définies écrasent les valeurs correspondantes déjà présentes dans Config (les variables d'environnement non définies laissent les valeurs de configuration existantes inchangées). Ce mécanisme vous permet de conserver un fichier de configuration par défaut et de remplacer des valeurs spécifiques à l'aide de variables d'environnement, ou de configurer entièrement le client avec des variables d'environnement.

En plus des variables d'environnement standards, la bibliothèque Ruby accepte deux variables supplémentaires :

  • GOOGLE_ADS_RUBY_LOG_LEVEL : équivaut à log_level, comme expliqué précédemment.
  • GOOGLE_ADS_RUBY_HTTP_PROXY : spécifiez l'URL d'un proxy HTTP.