Configuration

La configuration s'effectue à l'aide d'une classe Config. Vous pouvez accéder à cette classe de plusieurs manières, par exemple en écrivant un fichier de configuration, en spécifiant des valeurs lors de la création ou en chargeant des valeurs à partir de variables d'environnement.

Fichier de configuration

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

Si vous n'utilisez aucun argument lors de l'instanciation d'un objet GoogleAdsClient, la bibliothèque recherche l'emplacement spécifié dans la variable d'environnement GOOGLE_ADS_CONFIGURATION_FILE_PATH. Si cette variable n'est pas définie, la bibliothèque recherche le fichier dans votre répertoire HOME.

Vous pouvez également spécifier un chemin d'accès lors de l'instanciation de l'objet GoogleAdsClient, comme suit. Dans ce cas, le client recherche le fichier à cet emplacement.

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

Pour générer ce fichier, le moyen le plus simple consiste à copier le fichier google_ads_config.rb à partir du dépôt GitHub et à le modifier pour y inclure votre jeton d'actualisation, votre ID client et votre code secret client.

Configuration dynamique

Vous pouvez configurer la bibliothèque de manière dynamique lors de son instanciation ou même après :

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

Vous pouvez même modifier la configuration après l'instanciation :

client.configure do |config|
  config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'

# ... more configuration
end

Champs de configuration

L'objet Config accepte les champs suivants.

Champs généraux :

  • refresh_token : votre jeton d'actualisation OAuth.
  • client_id : votre ID client OAuth.
  • client_secret : votre code secret client OAuth.
  • login_customer_id : consultez la documentation sur login-customer-id.

Champs de journalisation. Pour en savoir plus, consultez le guide sur la journalisation.

  • log_level : niveau de journalisation minimal des messages que vous souhaitez enregistrer. Par exemple, si vous spécifiez 'DEBUG', tous les messages du journal s'affichent. Si vous spécifiez 'INFO', les messages de débogage sont exclus, mais tous les autres messages s'affichent.
  • log_target : emplacement où vous souhaitez enregistrer les journaux, par exemple STDERR.
  • logger : spécifiez votre propre journaliseur personnalisé. Si vous spécifiez cette option, log_level et log_target sont remplacés.

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 supplémentaire après l'instanciation du client pour être chargées. Consultez la liste complète des variables d'environnement compatibles avec toutes les langues.

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 cette méthode est appelée, l'état actuel des variables d'environnement remplace tout ce qui est déjà présent dans Config. Ce mécanisme vous permet, par exemple, d'avoir une configuration par défaut, mais de remplacer des valeurs spécifiques à l'aide de variables d'environnement. Vous pouvez également effectuer une configuration complète à l'aide de variables d'environnement.

En plus des variables d'environnement compatibles avec toutes les bibliothèques, la bibliothèque Ruby comporte deux variables supplémentaires :

  • GOOGLE_ADS_RUBY_LOG_LEVEL : log_level, comme expliqué précédemment.
  • GOOGLE_ADS_RUBY_HTTP_PROXY : spécifiez un proxy HTTP.