設定

構成は Config クラスを使用して管理されます。クライアントを構成するには、構成ファイルを使用するか、作成時に値を動的に指定するか、環境変数から値を読み込みます。

構成ファイル

クライアントのインスタンス化時に使用する google_ads_config.rb ファイルを指定できます。

GoogleAdsClient オブジェクトのインスタンス化時に引数を渡さない場合、ライブラリは次の順序で構成ファイルを検索します。

  1. GOOGLE_ADS_CONFIGURATION_FILE_PATH 環境変数で指定されたパス。
  2. 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: アプリケーションのデフォルト認証情報(GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS)を使用して認証するには、true に設定します。google-ads-googleads v36.1.0 以降でサポートされています。
  • authentication: カスタム認証オブジェクト(Proc(updater_proc)、キーファイルパス、Hash、GRPC::Core::Channel / GRPC::Core::ChannelCredentials など)。client_id、client_secret、refresh_token、keyfile をオーバーライドします。
  • login_customer_id: login-customer-id のドキュメント(GOOGLE_ADS_LOGIN_CUSTOMER_ID)をご覧ください。
  • linked_customer_id: リンクされたお客様 ID(GOOGLE_ADS_LINKED_CUSTOMER_ID)。
  • ads_assistant: Google Ads API アシスタント ヘッダーの省略可能な識別子(GOOGLE_ADS_ASSISTANT。v37.0.0 で gaada として追加され、v39.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呼び出しサイトごとに 1 回)。

ログフィールド(詳細については、ロギング ガイドをご覧ください)。

  • 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 ライブラリは次の 2 つの追加変数をサポートしています。

  • GOOGLE_ADS_RUBY_LOG_LEVEL: 前述のとおり、log_level と同等です。
  • GOOGLE_ADS_RUBY_HTTP_PROXY: HTTP プロキシの URL を指定します。