設定

構成は 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')

このファイルを生成するには、google_ads_config.rb を GitHub リポジトリからコピーし、更新トークン、クライアント 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-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: 呼び出しサイトごとに 1 回ではなく、呼び出しごとに非推奨の警告を発行します(デフォルトは 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 ライブラリは次の 2 つの追加変数をサポートしています。

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