構成

Ads API クライアント ライブラリには、ライブラリの動作をカスタマイズするために使用できる構成設定がいくつか用意されています。

構成ファイル

クライアントをインスタンス化する際に使用する googleads.properties ファイルを指定できます。

インスタンス化時に引数を使用しない場合:

my $api_client = Google::Ads::GoogleAds::Client->new();

その場合、ライブラリは HOME ディレクトリでファイルを探します。

または、パスを指定することもできます。

my $properties_file = "/path/to/googleads.properties";

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => $properties_file
});

その場合、クライアントはそのファイルパスでファイルを探します。

このファイルを生成する最も簡単な方法は、GitHub リポジトリから googleads.properties をコピーし、クライアント ID、クライアント シークレット、更新トークンを含むように変更することです。

動的構成

構成は、ライブラリをインスタンス化するときだけでなく、後でも動的に設定できます。

my $api_client = Google::Ads::GoogleAds::Client->new({
  developer_token   => "INSERT_DEVELOPER_TOKEN_HERE",
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE"
});

インスタンス化後に構成を変更することもできます。

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

また、API Client から OAuth2ApplicationsHandler オブジェクトを取得し、実行時にクライアント ID、クライアント シークレット、更新トークンを変更することもできます。

my $oauth2_applications_handler = $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN");

構成の環境変数

クライアントをインスタンス化する際に、環境変数から一部の構成設定を行うことができます(すべてを網羅したリストを参照)。

Client モジュールには、環境変数から値を読み込む configure_from_environment_variables 関数が用意されています。

# Get the Google Ads Client. By default, any credentials will be read from
# ~/googleads.properties, or, if set, from the file specified in the
# GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.
my $api_client = Google::Ads::GoogleAds::Client->new();

# Load the configuration from any set environment variables.
$api_client->configure_from_environment_variables();

構成フィールド

構成プロパティは、次のフィールドをサポートしています。

OAuth2ApplicationsHandler で保持されるフィールド:

  • client_id: OAuth2 クライアント ID。
  • client_secret: OAuth2 クライアント シークレット。
  • refresh_token: OAuth2 更新トークン。

API クライアントで永続化されるフィールド:

  • developer_token: API にアクセスするための開発者トークン。
  • login_customer_id: login-customer-id のドキュメントをご覧ください。
  • proxy: インターネット接続に使用されるプロキシ サーバーの URL。