配置使用 Config 类进行管理。您可以通过以下方式配置客户端:使用配置文件、在创建时动态指定值,或从环境变量加载值。
配置文件
您可以指定在实例化客户端时使用的 google_ads_config.rb 文件。
如果您在实例化 GoogleAdsClient 对象时未传递任何实参,该库将按以下顺序搜索配置文件:
GOOGLE_ADS_CONFIGURATION_FILE_PATH环境变量中指定的路径。HOME目录 (~/google_ads_config.rb)中名为google_ads_config.rb的文件。
或者,您也可以在实例化 GoogleAdsClient 对象时传递显式路径:
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'
# ... additional configuration
end
您还可以在实例化后修改配置(这会替换在初始化期间加载的设置):
client.configure do |config|
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
# ... additional configuration
end
配置字段
Config 对象支持以下字段。
常规字段:
refresh_token:您的 OAuth 刷新令牌 (GOOGLE_ADS_REFRESH_TOKEN)。client_id:您的 OAuth 客户端 ID (GOOGLE_ADS_CLIENT_ID)。client_secret:您的 OAuth 客户端密钥 (GOOGLE_ADS_CLIENT_SECRET)。keyfile:服务账号 JSON 密钥文件的路径 (GOOGLE_ADS_JSON_KEY_FILE_PATH)。impersonate:在使用具有网域级委托的服务账号时要模拟的电子邮件地址 (GOOGLE_ADS_IMPERSONATED_EMAIL)。use_application_default_credentials:设置为true以使用应用默认凭证进行身份验证 (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS)。google-ads-googleadsv36.1.0 及更高版本中支持此字段。authentication:自定义身份验证对象,例如Proc(updater_proc)、密钥文件路径或Hash,或GRPC::Core::Channel/GRPC::Core::ChannelCredentials。替换client_id、client_secret、refresh_token和keyfile。login_customer_id:请参阅 login-customer-id 文档 (GOOGLE_ADS_LOGIN_CUSTOMER_ID)。linked_customer_id:关联的客户 ID (GOOGLE_ADS_LINKED_CUSTOMER_ID)。ads_assistant:Google Ads API 助理标头的可选标识符 (GOOGLE_ADS_ASSISTANT;在 v37.0.0 中添加为gaada,并在 v39.0.0 中重命名为ads_assistant)。http_proxy:可选 HTTP 或 HTTPS 代理 URI (GOOGLE_ADS_RUBY_HTTP_PROXY)。api_endpoint:可选 API 端点替换 (GOOGLE_ADS_ENDPOINT)。treat_deprecation_warnings_as_errors:在调用已废弃的库代码时,抛出异常而不是调用Warning#warn(默认值为false)。warn_on_all_deprecations:针对每次调用(而不是每个调用点一次)发出废弃警告(默认值为false)。
日志字段(如需了解完整详情,请参阅日志记录指南):
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
每次调用 load_environment_config 时,任何已定义的环境变量都会覆盖 Config 中已存在的相应值(未设置的环境变量会使现有配置值保持不变)。借助此机制,您可以维护默认配置文件并使用环境变量替换特定值,也可以完全使用环境变量配置客户端。
除了标准环境变量之外,Ruby 库还支持两个额外的变量:
GOOGLE_ADS_RUBY_LOG_LEVEL:等同于前面介绍的log_level。GOOGLE_ADS_RUBY_HTTP_PROXY:指定 HTTP 代理网址。