Konfigurasi

Library klien Perl Google Ads API menyediakan beberapa setelan konfigurasi yang dapat Anda gunakan untuk menyesuaikan perilaku library.

File konfigurasi

Anda dapat menentukan file googleads.properties yang akan digunakan saat membuat instance klien.

Jika Anda tidak menggunakan argumen saat membuat instance:

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

maka library akan mencari file di direktori HOME Anda, atau di jalur yang ditentukan dalam variabel lingkungan GOOGLE_ADS_CONFIGURATION_FILE_PATH jika ditetapkan.

Atau, Anda dapat menentukan jalur secara eksplisit:

my $properties_file = "/path/to/googleads.properties";

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => $properties_file,
});

dalam hal ini, klien akan mencari file di jalur tersebut.

Cara termudah untuk membuat file ini adalah dengan menyalin googleads.properties dari repositori GitHub dan mengubahnya untuk menyertakan client ID, rahasia klien, dan token refresh Anda.

Konfigurasi dinamis

Anda dapat menyiapkan konfigurasi secara dinamis saat membuat instance library, atau setelah membuat instance:

my $api_client = Google::Ads::GoogleAds::Client->new({
  login_customer_id => "INSERT_LOGIN_CUSTOMER_ID_HERE",
});

Anda juga dapat mengubah konfigurasi setelah membuat instance:

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

Anda juga bisa mendapatkan objek OAuth2ApplicationsHandler dari instance Client, dan mengubah ID klien, rahasia klien, dan token refresh saat runtime:

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");

Variabel lingkungan konfigurasi

Anda dapat menetapkan beberapa setelan konfigurasi dari variabel lingkungan saat membuat instance klien (lihat variabel lingkungan standar).

Modul Client menyediakan fungsi configure_from_environment_variables untuk memuat nilai dari variabel lingkungan.

# 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();

Kolom konfigurasi

Perhatikan bahwa kunci googleads.properties menggunakan camelCase (seperti loginCustomerId dan linkedCustomerId), sedangkan argumen konstruktor Client->new({...}) dan metode handler menggunakan snake_case (seperti login_customer_id dan linked_customer_id).

Kolom yang dipertahankan di OAuth2ApplicationsHandler:

  • client_id (clientId di googleads.properties, GOOGLE_ADS_CLIENT_ID): Client ID OAuth2 Anda.
  • client_secret (clientSecret di googleads.properties, GOOGLE_ADS_CLIENT_SECRET): Rahasia klien OAuth2 Anda.
  • refresh_token (refreshToken di googleads.properties, GOOGLE_ADS_REFRESH_TOKEN): Token refresh OAuth2 Anda.
  • additional_scopes (additionalScopes di googleads.properties): Cakupan OAuth2 tambahan yang akan diminta.

Kolom yang dipertahankan di OAuth2ServiceAccountsHandler:

  • json_key_file_path (jsonKeyFilePath di googleads.properties, GOOGLE_ADS_JSON_KEY_FILE_PATH): Jalur ke file kunci JSON akun layanan Anda.
  • impersonated_email (impersonatedEmail di googleads.properties, GOOGLE_ADS_IMPERSONATED_EMAIL): Alamat email yang akan dipalsukan saat menggunakan delegasi tingkat domain Google Workspace.
  • additional_scopes (additionalScopes di googleads.properties): Cakupan OAuth2 tambahan yang akan diminta.

Kolom yang dipertahankan di Client:

  • developer_token (developerToken di googleads.properties, GOOGLE_ADS_DEVELOPER_TOKEN): (Penghentian pada 9 September 2026) Token developer Google Ads API Anda. Opsional, diabaikan oleh server API terlepas dari versi library klien, dan akan ditolak dalam versi utama Google Ads API mendatang.
    • v35.0.0 dan yang lebih baru: Tidak diperlukan saat inisialisasi klien (validasi developerToken sisi klien lokal dihapus di v35.0.0).
    • Versi sebelum v35.0.0: Diperlukan oleh validasi konfigurasi sisi klien lokal jika Anda belum mengupgrade ke v35.0.0 atau yang lebih baru.
  • login_customer_id (loginCustomerId di googleads.properties, GOOGLE_ADS_LOGIN_CUSTOMER_ID): ID akun pengelola yang digunakan untuk mengakses akun klien. Lihat dokumentasi login-customer-id.
  • linked_customer_id (linkedCustomerId di googleads.properties, GOOGLE_ADS_LINKED_CUSTOMER_ID): ID pelanggan tertaut.
  • service_address (serviceAddress di googleads.properties, GOOGLE_ADS_ENDPOINT): URL alamat layanan Google Ads API (secara default adalah "https://googleads.googleapis.com").
  • user_agent (userAgent di googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): Awalan header agen pengguna kustom yang disertakan dalam permintaan HTTP.
  • proxy (proxy di googleads.properties, GOOGLE_ADS_PERL_PROXY): URL server proxy yang digunakan untuk konektivitas internet.
  • version (Client->new atau set_version): Modul versi Google Ads API yang akan digunakan (defaultnya adalah "V25").
  • die_on_faults (Client->new atau set_die_on_faults): Setel ke 1 agar metode layanan memanggil die() dengan payload respons mentah pada error API daripada menampilkan objek Google::Ads::GoogleAds::GoogleAdsException (defaultnya adalah 0).
  • http_timeout (Client->new atau set_http_timeout): Waktu tunggu HTTP dalam detik (defaultnya 3600).
  • http_retry_timing (Client->new atau set_http_retry_timing): Jeda percobaan ulang interval dalam detik untuk error HTTP 503 dan 504 sementara (defaultnya "5,10,15").