Konfiguracja

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

Plik konfiguracji

Możesz określić plik googleads.properties, który będzie używany podczas tworzenia instancji klienta.

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

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

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

Możesz też podać ścieżkę w sposób jawny:

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 na wygenerowanie tego pliku jest skopiowanie 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 ustawić 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ż uzyskać obiekt OAuth2ApplicationsHandler z instancji Client i zmienić identyfikator klienta, tajny klucz klienta i token odświeżania w czasie działania programu:

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 (patrz standardowe zmienne środowiskowe).

Moduł Client udostępnia funkcję configure_from_environment_variables, która służy 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

Zauważ, że klucze googleads.properties używają camelCase (np. loginCustomerId i linkedCustomerId), a argumenty konstruktora Client->new({...}) i metody obsługi używają snake_case (np. login_customer_id i linked_customer_id).

Pola zapisane w OAuth2ApplicationsHandler:

  • client_id (clientId w googleads.properties, GOOGLE_ADS_CLIENT_ID): 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 zapisane 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, który ma być używany podczas personifikacji w przypadku delegowania uprawnień w całej domenie Google Workspace.
  • additional_scopes (additionalScopes w googleads.properties): dodatkowe zakresy OAuth2, o które należy poprosić.

Pola zapisane w Client:

  • developer_token (developerToken w googleads.properties, GOOGLE_ADS_DEVELOPER_TOKEN): (Wycofanie 9 września 2026 r.) Twój token programisty interfejsu Google Ads API. Opcjonalne, ignorowane przez serwery interfejsu API niezależnie od wersji biblioteki klienta i odrzucane w przyszłej głównej wersji interfejsu Google Ads API.
    • v35.0.0 i nowsze: nie jest wymagane podczas inicjowania klienta (lokalna weryfikacja po stronie klienta developerToken została usunięta w wersji v35.0.0).
    • Wersje starsze niż v35.0.0: wymagane przez lokalną weryfikację konfiguracji po stronie klienta, jeśli nie masz wersji v35.0.0 lub nowszej.
  • login_customer_id (loginCustomerId w googleads.properties,GOOGLE_ADS_LOGIN_CUSTOMER_ID): identyfikator konta menedżera użytego do uzyskania 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 Google Ads API (domyślnie "https://googleads.googleapis.com").
  • user_agent (userAgent w googleads.properties, GOOGLE_ADS_PERL_USER_AGENT): niestandardowy prefiks nagłówka User-Agent uwzględniony w żądaniach HTTP.
  • proxy (proxy w googleads.properties, GOOGLE_ADS_PERL_PROXY): adres URL serwera proxy używany do połączenia z internetem.
  • version (Client->new lub set_version): moduł wersji interfejsu Google Ads API do użycia (domyślnie "V25").
  • die_on_faults (Client->new lub set_die_on_faults): ustaw wartość 1, aby metody usługi wywoływały die() z nieprzetworzoną treścią odpowiedzi w przypadku błędów interfejsu API zamiast zwracać obiekt 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 w sekundach, po których należy ponowić próbę w przypadku przejściowych błędów HTTP 503 i 504 (domyślnie "5,10,15").