配置

配置通过 Config 类完成。您可以通过多种方式访问此类,例如编写配置文件、在创建时指定值,或从环境变量加载值。

配置文件

您可以指定在实例化客户端时使用的 google_ads_config.rb 文件。

如果您在实例化 GoogleAdsClient 对象时不使用任何实参,则该库会在 GOOGLE_ADS_CONFIGURATION_FILE_PATH 环境变量中指定的位置查找。如果未设置该变量,则库将在您的 HOME 目录中查找该文件。

或者,您也可以在实例化 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' # ... 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 客户端密钥。
  • 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_LEVELlog_level,如前所述。
  • GOOGLE_ADS_RUBY_HTTP_PROXY:指定 HTTP 代理。