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ı sunar.

Yapılandırma dosyası

İstemciyi örneklendirirken kullanılacak bir googleads.properties dosyası belirtebilirsiniz.

Örneklendirme sırasında bağımsız değişken kullanmazsanız:

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

Ardından kitaplık, dosya için HOME dizininize veya ayarlanmışsa GOOGLE_ADS_CONFIGURATION_FILE_PATH ortam değişkeninde belirtilen yola bakar.

Alternatif olarak, bir 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 dosyasını 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ığı örneklendirirken dinamik olarak veya örneklendirmeden sonra ayarlayabilirsiniz:

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

Örneklendirmeden sonra yapılandırmayı 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 örneklendirirken bazı yapılandırma ayarlarını ortam değişkenlerinden ayarlayabilirsiniz (standart ortam değişkenlerine bakın).

Client modülü, ortam değişkenlerinden değerleri 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ın camelCase (ör. loginCustomerId ve linkedCustomerId) kullandığını, 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ı olan alanlar:

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

OAuth2ServiceAccountsHandler içinde kalıcı olan alanlar:

  • json_key_file_path (googleads.properties, GOOGLE_ADS_JSON_KEY_FILE_PATH içinde jsonKeyFilePath): Hizmet hesabı JSON anahtar dosyanızın yolu.
  • impersonated_email (googleads.properties, GOOGLE_ADS_IMPERSONATED_EMAIL içinde impersonatedEmail): Google Workspace alan genelinde yetki 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ı olan alanlar:

  • login_customer_id (loginCustomerId, googleads.properties, 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 belgelerini inceleyin.
  • linked_customer_id (googleads.properties içinde linkedCustomerId, GOOGLE_ADS_LINKED_CUSTOMER_ID): Bağlı müşteri kimliği.
  • service_address (googleads.properties içinde serviceAddress, GOOGLE_ADS_ENDPOINT): 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ı üstbilgi öneki.
  • proxy (proxy, googleads.properties, GOOGLE_ADS_PERL_PROXY): İnternet bağlantısı için kullanılan proxy sunucu URL'si.
  • version (Client->new veya set_version): Kullanılacak Google Ads API sürüm modülü (varsayılan olarak "V26").
  • die_on_faults (Client->new veya set_die_on_faults): API hatalarında Google::Ads::GoogleAds::GoogleAdsException nesnesi döndürmek yerine ham yanıt yüküyle die() hizmet yöntemlerini çağırmak için 1 olarak ayarlayın (varsayılan olarak 0).
  • http_timeout (Client->new veya set_http_timeout): Saniye cinsinden HTTP zaman aşımı (varsayılan değer 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 değer: "5,10,15").