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 google_ads_config.rb fichier à 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. 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 y inclure votre jeton d'actualisation, votre ID client et votre code secret du client.

Configuration dynamique

Vous pouvez configurer la configuration de manière dynamique lors de l'instanciation de la bibliothèque :

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 est compatible avec 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 lors de l'utilisation d'un compte de service avec délégation à l'échelle du domaine (GOOGLE_ADS_IMPERSONATED_EMAIL).
  • use_application_default_credentials: définissez la 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é 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 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 seule fois par site d'appel (false par défaut).

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

  • log_level : niveau de journalisation minimal des messages que vous souhaitez enregistrer. Par exemple, si vous spécifiez 'DEBUG', tous les messages sont enregistrés. Si vous spécifiez 'INFO', les messages DEBUG sont exclus, tandis que tous les autres messages sont affichés.
  • log_target : emplacement où vous souhaitez enregistrer les journaux, par exemple STDERR ou un chemin d'accès.
  • logger : spécifiez votre propre enregistreur 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 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). Grâce à ce mécanisme, vous pouvez conserver un fichier de configuration par défaut et remplacer des valeurs spécifiques à l'aide de variables d'environnement, ou configurer entièrement le client à l'aide de 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 une URL de proxy HTTP.