Конфигурация

Клиентская библиотека Google Ads API на Perl предоставляет несколько параметров конфигурации, которые можно использовать для настройки поведения библиотеки.

Файл конфигурации

При создании экземпляра клиента можно указать файл googleads.properties , который будет использоваться.

Если при создании экземпляра не используются аргументы:

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

Затем библиотека будет искать файл в вашем HOME каталоге или по пути, указанному в переменной среды GOOGLE_ADS_CONFIGURATION_FILE_PATH если она задана.

В качестве альтернативы вы можете явно указать путь:

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

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

В этом случае клиент будет искать файл по указанному пути.

Проще всего сгенерировать этот файл, скопировав googleads.properties из репозитория GitHub и изменив его, добавив ваш идентификатор клиента, секретный ключ клиента и токен обновления.

Динамическая конфигурация

Конфигурацию можно задать динамически при создании экземпляра библиотеки или после его создания:

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

Вы также можете изменить конфигурацию после создания экземпляра:

$api_client->set_login_customer_id("INSERT_LOGIN_CUSTOMER_ID_HERE");

Также можно получить объект OAuth2ApplicationsHandler из экземпляра Client и изменить идентификатор клиента, секретный ключ клиента и токен обновления во время выполнения:

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

Переменные среды конфигурации

Некоторые параметры конфигурации можно задать с помощью переменных среды при создании экземпляров клиентов (см. стандартные переменные среды ).

Модуль Client предоставляет функцию configure_from_environment_variables для загрузки значений из переменных среды.

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

Поля конфигурации

Обратите внимание, что ключи в googleads.properties используют camelCase (например, loginCustomerId и linkedCustomerId ), тогда как аргументы конструктора Client->new({...}) и методы обработчика используют snake_case (например, login_customer_id и linked_customer_id ).

Поля сохраняются в OAuth2ApplicationsHandler :

  • client_id ( clientId in googleads.properties , GOOGLE_ADS_CLIENT_ID ): Ваш идентификатор клиента OAuth2.
  • client_secret ( clientSecret in googleads.properties , GOOGLE_ADS_CLIENT_SECRET ): Ваш секретный ключ клиента OAuth2.
  • refresh_token ( refreshToken in googleads.properties , GOOGLE_ADS_REFRESH_TOKEN ): Ваш токен обновления OAuth2.
  • additional_scopes ( additionalScopes in googleads.properties ): Дополнительные области действия OAuth2 для запроса.

Поля сохраняются в OAuth2ServiceAccountsHandler :

  • json_key_file_path ( jsonKeyFilePath in googleads.properties , GOOGLE_ADS_JSON_KEY_FILE_PATH ): Путь к JSON-файлу ключа вашей учетной записи службы.
  • impersonated_email ( impersonatedEmail in googleads.properties , GOOGLE_ADS_IMPERSONATED_EMAIL ): Адрес электронной почты, который будет использоваться для имитации при делегировании полномочий в масштабе всего домена Google Workspace.
  • additional_scopes ( additionalScopes in googleads.properties ): Дополнительные области действия OAuth2 для запроса.

Поля сохранены в Client :

  • developer_token ( developerToken in googleads.properties , GOOGLE_ADS_DEVELOPER_TOKEN ): ( Закрытие 9 сентября 2026 г. ) Ваш токен разработчика Google Ads API. Необязательный, игнорируется серверами API независимо от версии клиентской библиотеки и будет отклонен в будущей основной версии Google Ads API.
    • v35.0.0 и более поздние версии : Не требуется при инициализации клиента (локальная проверка developerToken на стороне клиента была удалена в v35.0.0 ).
    • Версии до v35.0.0 : Требуется для локальной проверки конфигурации на стороне клиента, если вы не обновились до v35.0.0 или более поздней.
  • login_customer_id ( loginCustomerId in googleads.properties , GOOGLE_ADS_LOGIN_CUSTOMER_ID ): Идентификатор учетной записи менеджера, используемой для доступа к учетной записи клиента. См. документацию по login-customer-id .
  • linked_customer_id ( linkedCustomerId in googleads.properties , GOOGLE_ADS_LINKED_CUSTOMER_ID ): Идентификатор связанного клиента.
  • service_address ( serviceAddress in googleads.properties , GOOGLE_ADS_ENDPOINT ): URL-адрес сервиса Google Ads API (по умолчанию "https://googleads.googleapis.com" ).
  • user_agent ( userAgent in googleads.properties , GOOGLE_ADS_PERL_USER_AGENT ): Пользовательский префикс заголовка user-agent, добавляемый в HTTP-запросы.
  • proxy ( proxy in googleads.properties , GOOGLE_ADS_PERL_PROXY ): URL-адрес прокси-сервера, используемый для подключения к интернету.
  • version ( Client->new или set_version ): Модуль версии Google Ads API для использования (по умолчанию "V25" ).
  • die_on_faults ( Client->new or set_die_on_faults ): Установите значение 1 , чтобы методы сервиса вызывали die() с необработанными данными ответа при ошибках API вместо возврата объекта Google::Ads::GoogleAds::GoogleAdsException (по умолчанию 0 ).
  • http_timeout ( Client->new or set_http_timeout ): Время ожидания HTTP-запроса в секундах (по умолчанию 3600 ).
  • http_retry_timing ( Client->new or set_http_retry_timing ): Интервалы паузы повторных попыток в секундах для временных ошибок HTTP 503 и 504 (по умолчанию "5,10,15" ).