配置

配置是通过 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_levellog_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 代理。