構成

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");

構成環境変数

一部の構成設定は、クライアントをインスタンス化する際に環境変数から設定できます(詳細なリストをご覧ください)。

クライアント モジュールには、環境変数から値を読み込む 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。