Konfiguracja

Biblioteka klienta interfejsu Google Ads API w języku Perl udostępnia kilka ustawień konfiguracji, których możesz używać do dostosowywania działania biblioteki.

Plik konfiguracji

Podczas tworzenia instancji klienta możesz określić plik googleads.properties, którego chcesz użyć.

Jeśli podczas tworzenia instancji nie używasz argumentów:

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

biblioteka szuka pliku w katalogu HOME lub w ścieżce określonej w zmiennej środowiskowej GOOGLE_ADS_CONFIGURATION_FILE_PATH, jeśli jest ustawiona.

Możesz też podać ścieżkę bezpośrednio:

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

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

W takim przypadku klient szuka pliku w tej ścieżce.

Najprostszym sposobem wygenerowania tego pliku jest skopiowanie pliku googleads.properties z repozytorium GitHub i zmodyfikowanie go tak, aby zawierał identyfikator klienta, tajny klucz klienta i token odświeżania.

Konfiguracja dynamiczna

Konfigurację możesz skonfigurować dynamicznie podczas tworzenia instancji biblioteki lub po jej utworzeniu:

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

Konfigurację możesz też zmodyfikować po utworzeniu instancji:

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

Możesz też pobrać obiekt OAuth2ApplicationsHandler z instancji Client i zmienić identyfikator klienta, tajny klucz klienta oraz token odświeżania w czasie działania:

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

Zmienne środowiskowe konfiguracji

Niektóre ustawienia konfiguracji możesz określić za pomocą zmiennych środowiskowych podczas tworzenia instancji klientów (zobacz standardowe zmienne środowiskowe).

Moduł Client udostępnia funkcję configure_from_environment_variables do wczytywania wartości ze zmiennych środowiskowych.

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

Pola konfiguracji

Zwróć uwagę, że klucze googleads.properties używają camelCase (np. loginCustomerId i linkedCustomerId), natomiast argumenty konstruktora Client->new({...}) i metody modułu obsługi używają snake_case (np. login_customer_id i linked_customer_id).

Pola zachowane w OAuth2ApplicationsHandler:

  • client_id (clientId w googleads.properties, GOOGLE_ADS_CLIENT_ID): Twój identyfikator klienta OAuth2.
  • client_secret (clientSecret w googleads.properties, GOOGLE_ADS_CLIENT_SECRET): tajny klucz klienta OAuth2.
  • refresh_token (refreshToken w googleads.properties, GOOGLE_ADS_REFRESH_TOKEN): token odświeżania OAuth2.
  • additional_scopes (additionalScopes w googleads.properties): dodatkowe zakresy OAuth2, o które należy poprosić.

Pola zachowane w OAuth2ServiceAccountsHandler:

  • json_key_file_path (jsonKeyFilePath w googleads.properties, GOOGLE_ADS_JSON_KEY_FILE_PATH): ścieżka do pliku klucza JSON konta usługi.
  • impersonated_email (impersonatedEmail w googleads.properties, GOOGLE_ADS_IMPERSONATED_EMAIL): adres e-mail, pod który należy się podszyć podczas korzystania z przekazywania dostępu w całej domenie Google Workspace.
  • additional_scopes (additionalScopes w googleads.properties): dodatkowe zakresy OAuth2, o które należy poprosić.

Pola zachowane w Client:

  • login_customer_id (loginCustomerId w googleads.properties, GOOGLE_ADS_LOGIN_CUSTOMER_ID): identyfikator konta menedżera używanego do uzyskiwania dostępu do konta klienta. Zapoznaj się z dokumentacją dotyczącą identyfikatora klienta logowania.
  • linked_customer_id (linkedCustomerId w googleads.properties, GOOGLE_ADS_LINKED_CUSTOMER_ID): połączony identyfikator klienta.
  • service_address (serviceAddress w googleads.properties, GOOGLE_ADS_ENDPOINT): adres URL usługi interfejsu Google Ads API (domyślnie "https://googleads.googleapis.com").
  • user_agent (userAgent w googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): niestandardowy prefiks nagłówka klienta użytkownika uwzględniany w żądaniach HTTP.
  • proxy (proxy w googleads.properties, GOOGLE_ADS_PERL_PROXY): URL serwera proxy używany do połączenia z internetem.
  • version (Client->new lub set_version): moduł wersji interfejsu Google Ads API, którego chcesz używać (domyślnie "V26").
  • die_on_faults (Client->new lub set_die_on_faults): ustaw wartość 1, aby metody usługi wywoływały die() z nieprzetworzonym ładunkiem odpowiedzi w przypadku błędów interfejsu API zamiast zwracania obiektu Google::Ads::GoogleAds::GoogleAdsException (domyślnie 0).
  • http_timeout (Client->new lub set_http_timeout): limit czasu HTTP w sekundach (domyślnie 3600).
  • http_retry_timing (Client->new lub set_http_retry_timing): interwały ponawiania prób w sekundach w przypadku przejściowych błędów HTTP 503 i 504 (domyślnie "5,10,15").