Yapılandırma

Google Ads API Perl istemci kitaplığı, kitaplık davranışını özelleştirmek için kullanabileceğiniz çeşitli yapılandırma ayarları sağlar.

Yapılandırma dosyası

İstemciyi oluştururken kullanılacak bir googleads.properties dosyası belirtebilirsiniz.

Örnek oluştururken herhangi bir bağımsız değişken kullanmıyorsanız:

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

kitaplık, dosyayı HOME dizininizde veya GOOGLE_ADS_CONFIGURATION_FILE_PATH ortam değişkeninde belirtilen yolda arar (ayarlanmışsa).

Alternatif olarak, yolu açıkça belirtebilirsiniz:

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

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

Bu durumda istemci, dosyayı bu yolda arar.

Bu dosyayı oluşturmanın en kolay yolu, GitHub deposundan googleads.properties öğesini kopyalayıp istemci kimliğinizi, istemci gizli anahtarınızı ve yenileme jetonunuzu içerecek şekilde değiştirmektir.

Dinamik yapılandırma

Yapılandırmayı kitaplığı oluştururken dinamik olarak veya oluşturduktan sonra ayarlayabilirsiniz:

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

Yapılandırmayı örnek oluşturduktan sonra da değiştirebilirsiniz:

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

Ayrıca Client örneğinden bir OAuth2ApplicationsHandler nesnesi alabilir ve çalışma zamanında istemci kimliğini, istemci gizli anahtarını ve yenileme jetonunu değiştirebilirsiniz:

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

Yapılandırma ortam değişkenleri

İstemcileri oluştururken yapılandırma ayarlarının bazılarını ortam değişkenlerinden ayarlayabilirsiniz (bkz. standart ortam değişkenleri).

Client modülü, ortam değişkenlerinden değer yüklemek için configure_from_environment_variables işlevini sağlar.

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

Yapılandırma alanları

googleads.properties anahtarların camelCase (ör. loginCustomerId ve linkedCustomerId), Client->new({...}) oluşturucu bağımsız değişkenlerinin ve işleyici yöntemlerinin ise snake_case (ör. login_customer_id ve linked_customer_id) kullandığını unutmayın.

OAuth2ApplicationsHandler içinde kalıcı hale getirilen alanlar:

  • client_id (googleads.properties, GOOGLE_ADS_CLIENT_ID içinde clientId): OAuth2 istemci kimliğiniz.
  • client_secret (googleads.properties'deki clientSecret, GOOGLE_ADS_CLIENT_SECRET): OAuth2 istemci gizli anahtarınız.
  • refresh_token (googleads.properties'de refreshToken, GOOGLE_ADS_REFRESH_TOKEN): OAuth2 yenileme jetonunuz.
  • additional_scopes (googleads.properties içinde additionalScopes): İstenecek ek OAuth2 kapsamları.

OAuth2ServiceAccountsHandler içinde kalıcı hale getirilen alanlar:

  • json_key_file_path (googleads.properties, GOOGLE_ADS_JSON_KEY_FILE_PATH içinde jsonKeyFilePath): Hizmet hesabınızın JSON anahtar dosyasının yolu.
  • impersonated_email (googleads.properties içinde impersonatedEmail, GOOGLE_ADS_IMPERSONATED_EMAIL): Google Workspace'te alan genelinde temsilci atama kullanılırken kimliğine bürünülecek e-posta adresi.
  • additional_scopes (googleads.properties içinde additionalScopes): İstenecek ek OAuth2 kapsamları.

Client içinde kalıcı hale getirilen alanlar:

  • developer_token (googleads.properties'da developerToken, GOOGLE_ADS_DEVELOPER_TOKEN): (9 Eylül 2026'da kullanımdan kaldırılacak) Google Ads API geliştirici jetonunuz. İsteğe bağlıdır, istemci kitaplığı sürümünden bağımsız olarak API sunucuları tarafından yoksayılır ve Google Ads API'nin gelecekteki bir ana sürümünde reddedilir.
    • v35.0.0 ve sonraki sürümler: İstemci başlatılırken gerekli değildir (yerel istemci tarafı developerToken doğrulaması v35.0.0 sürümünde kaldırılmıştır).
    • v35.0.0'ten önceki sürümler: v35.0.0 veya sonraki bir sürüme yükseltmediyseniz yerel istemci tarafı yapılandırma doğrulaması için gereklidir.
  • login_customer_id (googleads.properties içinde loginCustomerId, GOOGLE_ADS_LOGIN_CUSTOMER_ID): Müşteri hesabına erişmek için kullanılan yönetici hesabının kimliği. login-customer-id dokümanlarını inceleyin.
  • linked_customer_id (googleads.properties içinde linkedCustomerId, GOOGLE_ADS_LINKED_CUSTOMER_ID): Bağlı müşteri kimliği.
  • service_address (googleads.properties, GOOGLE_ADS_ENDPOINT içinde serviceAddress): Google Ads API hizmet adresi URL'si (varsayılan olarak "https://googleads.googleapis.com").
  • user_agent (googleads.properties içinde userAgent, GOOGLE_ADS_PERL_USER_AGENT): HTTP isteklerine dahil edilen özel kullanıcı aracısı başlığı öneki.
  • proxy (googleads.properties içinde proxy, GOOGLE_ADS_PERL_PROXY): İnternet bağlantısı için kullanılan proxy sunucusu URL'si.
  • version (Client->new veya set_version): Kullanılacak Google Ads API sürümü modülü (varsayılan olarak "V25").
  • die_on_faults (Client->new veya set_die_on_faults): API hatalarında Google::Ads::GoogleAds::GoogleAdsException nesnesi döndürmek yerine hizmet yöntemlerinin die()'i ham yanıt yüküyle çağırması için 1 olarak ayarlayın (varsayılan olarak 0'dır).
  • http_timeout (Client->new veya set_http_timeout): Saniye cinsinden HTTP zaman aşımı (varsayılan olarak 3600).
  • http_retry_timing (Client->new veya set_http_retry_timing): Geçici HTTP 503 ve 504 hataları için saniye cinsinden yeniden deneme duraklatma aralıkları (varsayılan olarak "5,10,15").