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