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 :
- 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 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 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 à un fichier de clés 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: 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 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 du code de bibliothèque obsolète est appelé (falsepar défaut).warn_on_all_deprecations: émet un avertissement d'obsolescence à chaque appel plutôt qu'une fois par site d'appel (falsepar 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 messagesDEBUGseront exclus, mais tous les autres messages seront affichés.log_target: emplacement où vous souhaitez consigner les journaux, par exempleSTDERRou un chemin d'accès.logger: spécifiez votre propre enregistreur personnalisé. Si vous spécifiez cette option, elle 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 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.