構成は 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 ライブラリには次の 2 つの追加変数があります。
GOOGLE_ADS_RUBY_LOG_LEVEL: 前述のlog_level。GOOGLE_ADS_RUBY_HTTP_PROXY: HTTP プロキシを指定します。