配置是通过 Config
类完成的。您可以通过多种方式访问此类,例如写入配置文件、在创建时指定值或从环境变量加载值。
配置文件
您可以指定在实例化客户端时使用的 google_ads_config.rb
文件。
如果您在实例化时未使用任何参数:
client = Google::Ads::GoogleAds::GoogleAdsClient.new
则该库将在 GOOGLE_ADS_CONFIGURATION_FILE_PATH
环境变量中指定的位置查找。如果该变量未设置,库会在 HOME
目录中查找该文件。
或者,您也可以指定路径:
client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")
在这种情况下,客户端会在该文件路径下查找该文件。
要生成此文件,最简单的方法是从 GitHub 代码库中复制 google_ads_config.rb
,并对其进行修改以添加您的刷新令牌、客户端 ID 和客户端密钥。
动态配置
您可以在实例化库时动态设置配置,甚至可以在实例化后动态设置:
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
# ... more configuration
end
您甚至可以在实例化后修改配置:
client.configure do |config|
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
# ... more configuration
end
配置字段
Config
对象支持以下字段。
常规字段:
refresh_token
:您的 OAuth 刷新令牌。client_id
:您的 OAuth 客户端 ID。client_secret
:您的 OAuth 客户端密钥。developer_token
:用于访问 API 的开发者令牌。login_customer_id
:请参阅 login-customer-id 文档。
日志记录字段。如需了解完整详情,请参阅日志记录指南。
log_level
:您要记录的最低日志级别消息。例如,指定'DEBUG'
将确保您查看所有日志消息,指定'INFO'
将排除 DEBUG 消息,但显示所有其他消息。log_target
:您要记录日志的位置,例如STDERR
。logger
:指定您自己的自定义日志记录器。指定此属性将同时替换log_level
和log_target
。
环境变量
您可以使用环境变量配置客户端库。默认情况下,它们不会加载,在实例化客户端后需要额外的调用才能加载。请参阅所有语言支持的环境变量的完整列表。
如需将环境变量加载到 Config
,请调用 load_environment_config
:
client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config
每次调用此方法时,环境变量的当前状态将覆盖 Config
中已存在的任何内容。借助此机制,您可以采用默认配置但使用环境变量替换特定值,或者完全使用环境变量进行配置。
除了所有库支持的环境变量之外,Ruby 库还有两个额外的变量:
GOOGLE_ADS_RUBY_LOG_LEVEL
:与上述log_level
相同。GOOGLE_ADS_RUBY_HTTP_PROXY
:指定 HTTP 代理。