Java クライアント ライブラリは、ホーム ディレクトリ(System.getProperty("user.home") + "/ads.properties" または ~/ads.properties)にある ads.properties という名前の構成ファイルを探します。次のいずれかのメカニズムを使用して GoogleAdsClient を構築するときに、このパスとファイル名を実行時にオーバーライドできます。
fromPropertiesFile(PATH_TO_CONFIG_FILE)を呼び出します。ここで、PATH_TO_CONFIG_FILEは構成ファイルのFileパスとファイル名です。- 環境変数
GOOGLE_ADS_CONFIGURATION_FILE_PATHを構成ファイルのパスとファイル名に設定し、fromPropertiesFile()を呼び出します。
構成ファイルの形式は、Key-Value ペアの標準の Java Properties ファイルです。サポートされているキーは、選択した認証フローによって異なります。
パソコンとウェブ アプリケーション フローでサポートされているキー
シングル ユーザーまたはマルチユーザー アプリケーション フローを使用している場合、サポートされているキーは次のとおりです。
# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientId=INSERT_CLIENT_ID_HERE
# Credential for accessing Google's OAuth servers.
# Provided by console.cloud.google.com.
api.googleads.clientSecret=INSERT_CLIENT_SECRET_HERE
# Renewable OAuth credential associated with 1 or more Google Ads accounts.
api.googleads.refreshToken=INSERT_REFRESH_TOKEN_HERE
# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
# Only required if explicitly instructed by the service documentation.
# api.googleads.linkedCustomerId=INSERT_LINKED_CUSTOMER_ID_HERE
# Maximum allowed response payload size, in bytes.
# Customize this to allow response sizes for GoogleAdsService.search and
# GoogleAdsService.searchStream API calls to exceed the default limit of 64MB.
# api.googleads.maxInboundMessageBytes=INSERT_MAX_INBOUND_MESSAGE_BYTES_HERE
# Specifies whether to use Application Default Credentials.
api.googleads.useApplicationDefaultCredentials=false
サービス アカウントでサポートされているキー
サービス アカウント フローを使用している場合、サポートされている鍵は次のとおりです。
# Path to the service account secrets file in JSON format.
# Provided by console.cloud.google.com.
api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE
# Optional: Email address of the user to impersonate when using Google Workspace
# domain-wide delegation. This should be a user who has access to your Google Ads
# account and is in the same Google Workspace domain as the service account.
# api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE
# Required for manager accounts only: Specify the login customer ID used to
# authenticate API calls. This will be the customer ID of the authenticated
# manager account. You can also specify this later in code if your application
# uses multiple manager account + OAuth pairs.
#
# api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
環境変数を使用する
このライブラリは、標準の Google Ads API クライアント ライブラリの環境変数をすべてサポートしています。次の表に、各構成ファイル プロパティに対応する環境変数を示します。
| 構成ファイルのプロパティ | 環境変数 |
|---|---|
api.googleads.clientId |
GOOGLE_ADS_CLIENT_ID |
api.googleads.clientSecret |
GOOGLE_ADS_CLIENT_SECRET |
api.googleads.refreshToken |
GOOGLE_ADS_REFRESH_TOKEN |
api.googleads.serviceAccountSecretsPath |
GOOGLE_ADS_JSON_KEY_FILE_PATH |
api.googleads.serviceAccountUser |
GOOGLE_ADS_IMPERSONATED_EMAIL |
api.googleads.loginCustomerId |
GOOGLE_ADS_LOGIN_CUSTOMER_ID |
api.googleads.linkedCustomerId |
GOOGLE_ADS_LINKED_CUSTOMER_ID |
api.googleads.maxInboundMessageBytes |
GOOGLE_ADS_MAX_INBOUND_MESSAGE_BYTES |
api.googleads.useApplicationDefaultCredentials |
GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS |
api.googleads.developerToken(v46.0.0 以降では省略可) |
GOOGLE_ADS_DEVELOPER_TOKEN |
適切な環境変数を設定したら、ビルダーで fromEnvironment() を呼び出して GoogleAdsClient を構成します。
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.build();
構成アプローチを組み合わせる
GoogleAdsClient とそのビルダーは、さまざまな構成戦略の組み合わせをサポートしています。たとえば、次のスニペットを使用して、環境変数を使用してインスタンスの認証情報と他の属性のプロパティ ファイルを構成できます。
GoogleAdsClient googleAdsClient =
GoogleAdsClient.newBuilder()
.fromEnvironment()
.fromPropertiesFile()
.build();
build() を呼び出す前に、ビルダーの他の構成メソッドを使用して、実行時にさらに変更を加えることができます。
開発者トークンのサポート終了
2026 年 9 月 9 日のデベロッパー トークンのサポート終了に伴い、API アクセスレベルはデベロッパー トークンではなく、API サーバー上の Google Cloud プロジェクトによって決定されます。
- 構成の変更: 環境変数で
ads.propertiesのapi.googleads.developerTokenまたはGOOGLE_ADS_DEVELOPER_TOKENを指定する必要がなくなりました。api.googleads.developerTokenを指定している既存のアプリケーションは、API サーバーがdeveloper-tokenヘッダーを無視するため、引き続き動作します(ただし、Google Ads API の将来のメジャー バージョンでは拒否されます)。 - クライアント ライブラリのバージョンの要件: 構成からデベロッパー トークンを省略するには、
google-ads-javav46.0.0以降を使用します。このバージョンでは、デベロッパー トークンを必要とするクライアントサイドの検証が削除されています。 - 認証エラーの変更: テストアクセスのみの Google Cloud プロジェクトが本番環境の Google 広告アカウントを呼び出す場合、Google Ads API の
v25以降はAuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTIONを返しますが、v24以前はAuthorizationError.ACTION_NOT_PERMITTEDを返します。