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): 一時的な HTTP503エラーと504エラーの再試行一時停止間隔(秒単位)(デフォルトは"5,10,15")。