Configuration

La configuration est effectuée à 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 fichier google_ads_config.rb à utiliser lors de l'instanciation du client.

Si vous n'utilisez aucun argument lors de l'instanciation:

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

elle 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:

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

auquel cas le client recherchera le fichier sur ce chemin de fichier.

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

Configuration dynamique

Vous pouvez définir la configuration de manière dynamique lors de l'instanciation de la bibliothèque, 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: code secret de votre client OAuth.
  • developer_token: votre jeton de développeur pour accéder à l'API.
  • login_customer_id: consultez la documentation sur le champ "login-customer-id".

Champs de journalisation Pour plus d'informations, consultez le guide de journalisation.

  • log_level: nombre minimal de messages de niveau de journalisation que vous souhaitez enregistrer. Par exemple, si vous spécifiez 'DEBUG', tous les messages de journal seront affichés, tandis que 'INFO' exclura les messages de débogage, mais affichera tous les autres messages.
  • log_target: emplacement auquel vous souhaitez vous connecter, par exemple STDERR.
  • logger: spécifier votre propre enregistreur personnalisé. Si vous spécifiez cette valeur, log_level et log_target seront ignoré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 avoir instancié le client pour être chargées. Consultez la liste complète des variables d'environnement compatibles avec tous les langages.

Pour charger les variables d'environnement dans 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 écrase tous les éléments déjà présents 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, ou de configurer entièrement avec des 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: comme log_level ci-dessus.
  • GOOGLE_ADS_RUBY_HTTP_PROXY: spécifier un proxy HTTP.