設定

ライブラリは System.getProperty("user.home") + "/ads.properties" で構成ファイルを検索します。次のいずれかのメカニズムを使用して、GoogleAdsClient の作成時にこのパスとファイル名を実行時にオーバーライドできます。

  • fromPropertiesFile(PATH_TO_CONFIG_FILE) を呼び出します。ここで、PATH_TO_CONFIG_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

# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_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

サービス アカウントでサポートされているキー

サービス アカウント フローを使用している場合、サポートされるキーは次のとおりです。

# Path to the service account secrets file in JSON format.
# Provided by console.cloud.google.com.
api.googleads.serviceAccountSecretsPath=INSERT_PATH_TO_JSON_HERE

# Email address of the user to impersonate.
# This should be a user who has access to your Google Ads account and is in the same
# Google Apps Domain as the service account.
api.googleads.serviceAccountUser=INSERT_USER_EMAIL_ADDRESS_HERE

# Token which provides access to the Google Ads API in general. It does not
# grant access to any particular ad account (OAuth is used for this purpose).
api.googleads.developerToken=INSERT_DEVELOPER_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

環境変数の使用

このライブラリは、すべての Google Ads API クライアント ライブラリに共通する環境変数をすべてサポートしています。次の表に、各構成ファイルのプロパティに対応する環境変数を示します。

構成ファイルのプロパティ 環境変数
api.googleads.developerToken GOOGLE_ADS_DEVELOPER_TOKEN
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

適切な環境変数を設定したら、ビルダーで fromEnvironment() を呼び出して GoogleAdsClient を構成します。

GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
  .fromEnvironment()
  .build();

構成アプローチの組み合わせ

GoogleAdsClient とそのビルダーは、異なる構成戦略の組み合わせをサポートしています。たとえば、次のスニペットを使用すると、環境変数を使用してインスタンスの認証情報と他の属性のプロパティ ファイルを構成できます。

GoogleAdsClient googleAdsClient = GoogleAdsClient.newBuilder()
    .fromEnvironment()
    .fromPropertiesFile()
    .build();

この例では、クライアント ライブラリは、環境変数とプロパティ ファイルのエントリの両方で定義されている属性に、プロパティ ファイルの値を使用します。逆の動作については、fromEnvironment() の前に fromPropertiesFile() を呼び出します。

build() を呼び出す前に、ビルダーの他の構成メソッドを使用して、実行時にさらに変更を加えることができます。