設定是透過 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-googleads36.1.0 以上版本支援這項功能。authentication:自訂驗證物件,例如Proc(updater_proc)、金鑰檔案路徑或Hash,或GRPC::Core::Channel/GRPC::Core::ChannelCredentials。覆寫client_id、client_secret、refresh_token和keyfile。login_customer_id:請參閱登入客戶 ID 說明文件 (GOOGLE_ADS_LOGIN_CUSTOMER_ID)。linked_customer_id:已連結的客戶 ID (GOOGLE_ADS_LINKED_CUSTOMER_ID)。ads_assistant:Google Ads API Assistant 標頭的選用 ID (GOOGLE_ADS_ASSISTANT;在 37.0.0 版中新增為gaada,並在 39.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 Proxy 網址。