設定

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

構成ファイル

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

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

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

ライブラリは、HOME ディレクトリでファイルを探します。GOOGLE_ADS_CONFIGURATION_FILE_PATH 環境変数が設定されている場合は、その変数で指定されたパスでファイルを探します。

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

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({
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});

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

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

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

my $oauth2_applications_handler =
  $api_client->get_oauth2_applications_handler();
$oauth2_applications_handler->set_client_id("INSERT_CLIENT_ID_HERE");
$oauth2_applications_handler->set_client_secret("INSERT_CLIENT_SECRET_HERE");
$oauth2_applications_handler->set_refresh_token("INSERT_REFRESH_TOKEN_HERE");

構成環境変数

クライアントのインスタンス化時に、環境変数から構成設定の一部を設定できます(標準環境変数をご覧ください)。

Client モジュールは、環境変数から値を読み込む configure_from_environment_variables 関数を提供します。

# Get the Google Ads API Client. By default, any credentials are 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();

構成フィールド

googleads.properties キーは camelCase(loginCustomerId や linkedCustomerId など)を使用しますが、Client->new({...}) コンストラクタ引数とハンドラ メソッドは snake_case(login_customer_id や linked_customer_id など)を使用します。

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

  • client_id(googleads.properties の clientId、GOOGLE_ADS_CLIENT_ID): OAuth2 クライアント ID。
  • client_secret(googleads.properties、GOOGLE_ADS_CLIENT_SECRET の clientSecret): OAuth2 クライアント シークレット。
  • refresh_token(googleads.properties、GOOGLE_ADS_REFRESH_TOKEN の refreshToken): OAuth2 更新トークン。
  • additional_scopes(googleads.properties の additionalScopes): リクエストする追加の OAuth2 スコープ。

OAuth2ServiceAccountsHandler に保持されるフィールド:

  • json_key_file_path(googleads.properties、GOOGLE_ADS_JSON_KEY_FILE_PATH の jsonKeyFilePath): サービス アカウントの JSON キーファイルへのパス。
  • impersonated_email(googleads.properties の impersonatedEmail、GOOGLE_ADS_IMPERSONATED_EMAIL): Google Workspace のドメイン全体の委任を使用するときに、なりすますメールアドレス。
  • additional_scopes(googleads.properties の additionalScopes): リクエストする追加の OAuth2 スコープ。

Client に保持されるフィールド:

  • developer_token(googleads.properties、GOOGLE_ADS_DEVELOPER_TOKEN の developerToken): (2026 年 9 月 9 日に廃止)Google 広告 API デベロッパー トークン。省略可。クライアント ライブラリのバージョンに関係なく API サーバーで無視されます。今後の Google Ads API のメジャー バージョンでは拒否されます。
    • v35.0.0 以降: クライアントの初期化時に必要ありません(ローカル クライアントサイドの developerToken 検証は v35.0.0 で削除されました)。
    • v35.0.0 より前のバージョン: v35.0.0 以降にアップグレードしていない場合は、ローカル クライアントサイドの構成検証で必要です。
  • login_customer_id(googleads.properties の loginCustomerId、GOOGLE_ADS_LOGIN_CUSTOMER_ID): クライアント アカウントへのアクセスに使用されるクライアント センター(MCC)アカウントの ID。login-customer-id のドキュメントをご覧ください。
  • linked_customer_id(googleads.properties の linkedCustomerId、GOOGLE_ADS_LINKED_CUSTOMER_ID): リンクされたお客様 ID。
  • service_address(googleads.properties、GOOGLE_ADS_ENDPOINT の serviceAddress): Google Ads API サービス アドレス URL(デフォルトは "https://googleads.googleapis.com")。
  • user_agent(googleads.properties、GOOGLE_ADS_PERL_USER_AGENT の userAgent): HTTP リクエストに含まれるカスタム ユーザー エージェント ヘッダーの接頭辞。
  • proxy(googleads.properties の proxy、GOOGLE_ADS_PERL_PROXY): インターネット接続に使用されるプロキシ サーバーの URL。
  • version(Client->new または set_version): 使用する Google Ads API バージョン モジュール(デフォルトは "V25")。
  • die_on_faults(Client->new または set_die_on_faults): 1 に設定すると、サービス メソッドは API エラー時に Google::Ads::GoogleAds::GoogleAdsException オブジェクトを返す代わりに、未加工のレスポンス ペイロードで die() を呼び出します(デフォルトは 0)。
  • http_timeout(Client->new または set_http_timeout): HTTP タイムアウト(秒単位)。デフォルトは 3600 です。
  • http_retry_timing(Client->new または set_http_retry_timing): 一時的な HTTP 503 エラーと 504 エラーの再試行一時停止間隔(秒単位)(デフォルトは "5,10,15")。