構成は 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-googleadsv36.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 Assistant ヘッダーのオプション識別子(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 を指定します。