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 :
- Le chemin d'accès spécifié dans la variable d'environnement
GOOGLE_ADS_CONFIGURATION_FILE_PATH. - Un fichier nommé
google_ads_config.rbdans votre répertoireHOME(~/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 surtruepour vous authentifier à l'aide des identifiants par défaut de l'application (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Compatible avecgoogle-ads-googleadsv36.1.0 et versions ultérieures.authentication: objet d'authentification personnalisé, tel qu'unProc(updater_proc), un chemin d'accès au fichier de clé ouHash, ouGRPC::Core::Channel/GRPC::Core::ChannelCredentials. Remplaceclient_id,client_secret,refresh_tokenetkeyfile.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 quegaadadans la version 37.0.0 et renomméads_assistantdans 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'appelerWarning#warnlorsque le code de la bibliothèque obsolète est appelé (falsepar défaut).warn_on_all_deprecations: émet un avertissement d'abandon à chaque appel plutôt qu'une fois par site d'appel (falsepar 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 messagesDEBUGtout en affichant tous les autres messages.log_target: emplacement où vous souhaitez consigner les journaux, par exempleSTDERRou un chemin d'accès.logger: spécifiez votre propre enregistreur personnalisé. La spécification de cette option remplacelog_leveletlog_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.