Konfigurasi

Library akan mencari file konfigurasi di System.getProperty("user.home") + "/ads.properties". Anda dapat mengganti jalur dan nama file ini saat runtime saat menyusun GoogleAdsClient menggunakan salah satu mekanisme berikut:

  • Panggil fromPropertiesFile(PATH_TO_CONFIG_FILE), dengan PATH_TO_CONFIG_FILE adalah jalur dan nama file file konfigurasi Anda.
  • Tetapkan variabel lingkungan GOOGLE_ADS_CONFIGURATION_FILE_PATH ke jalur dan nama file file konfigurasi Anda, lalu panggil fromPropertiesFile().

Format file konfigurasi adalah untuk file Java Properties dari key-value pair. Kunci yang didukung bervariasi, bergantung pada alur autentikasi yang dipilih.

Kunci yang didukung untuk alur aplikasi web dan desktop

Jika Anda menggunakan alur aplikasi desktop atau web, kunci yang didukung adalah sebagai berikut:

# 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

Kunci yang didukung untuk akun layanan

Jika Anda menggunakan alur akun layanan, kunci yang didukung adalah sebagai berikut:

# 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

Menggunakan variabel lingkungan

Library mendukung semua variabel lingkungan yang umum untuk semua library klien Google Ads API. Tabel di bawah ini menampilkan variabel lingkungan yang sesuai dengan setiap properti file konfigurasi.

Properti file konfigurasi Variabel lingkungan
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

Setelah Anda menetapkan variabel lingkungan yang sesuai, konfigurasikan GoogleAdsClient dengan memanggil fromEnvironment() pada builder.

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

Menggabungkan pendekatan konfigurasi

GoogleAdsClient dan builder-nya mendukung penggabungan berbagai strategi konfigurasi. Misalnya, Anda dapat menggunakan variabel lingkungan untuk mengonfigurasi kredensial instance dan file properti untuk atribut lain menggunakan cuplikan berikut.

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

Dalam contoh ini, library klien akan menggunakan nilai dari file properti untuk setiap atribut yang ditentukan melalui variabel lingkungannya dan entri dalam file properti. Untuk perilaku yang berlawanan, cukup panggil fromPropertiesFile() sebelum fromEnvironment().

Anda dapat membuat perubahan lebih lanjut pada saat runtime menggunakan metode konfigurasi lain builder sebelum memanggil build().

Menggunakan kembali file konfigurasi dari library klien AdWords API untuk Java

Anda dapat menggunakan file ads.properties yang sama dengan yang digunakan untuk AdWords API. Cukup salin baris untuk kunci berikut dan ubah awalan api.adwords di setiap kunci dari api.adwords menjadi api.googleads:

api.adwords.developerToken     --> api.googleads.developerToken
# For desktop or web OAuth credentials:
api.adwords.clientId           --> api.googleads.clientId
api.adwords.clientSecret       --> api.googleads.clientSecret
api.adwords.refreshToken       --> api.googleads.refreshToken
# For service account OAuth credentials:
api.adwords.jsonKeyFilePath    --> api.googleads.serviceAccountSecretsPath
api.adwords.serviceAccountUser --> api.googleads.serviceAccountUser

Jika Anda mengautentikasi sebagai akun pengelola, Anda juga harus menentukan:

api.googleads.loginCustomerId --> Manager account ID (with hyphens removed).