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. 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 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 lorsque vous utilisez 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 à un fichier de clés 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 : ID client associé (GOOGLE_ADS_LINKED_CUSTOMER_ID).
  • ads_assistant : identifiant facultatif pour l'en-tête de l'assistant 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 du code de bibliothèque obsolète est appelé (false par défaut).
  • warn_on_all_deprecations : émet un avertissement d'obsolescence à chaque appel plutôt qu'une fois par site d'appel (false par défaut).

Champs de journaux (pour en savoir plus, consultez le guide de journalisation) :

  • log_level : niveau de journalisation minimal des messages que vous souhaitez enregistrer. Par exemple, si vous spécifiez 'DEBUG', tous les messages seront enregistrés. Si vous spécifiez 'INFO', les messages DEBUG seront exclus, mais tous les autres messages seront affichés.
  • 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é. Si vous spécifiez cette option, elle 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 remplacent 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 est compatible avec deux variables supplémentaires :

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