構成

構成は 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 のドキュメントをご覧ください。

Logging フィールド。詳しくは、ロギングガイドをご覧ください。

  • 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 ライブラリには、すべてのライブラリでサポートされている環境変数に加えて、次の 2 つの変数があります。

  • GOOGLE_ADS_RUBY_LOG_LEVEL: 上記の log_level
  • GOOGLE_ADS_RUBY_HTTP_PROXY: HTTP プロキシを指定します。