Клиентская библиотека 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(clientIdingoogleads.properties,GOOGLE_ADS_CLIENT_ID): Ваш идентификатор клиента OAuth2. -
client_secret(clientSecretingoogleads.properties,GOOGLE_ADS_CLIENT_SECRET): Ваш секретный ключ клиента OAuth2. -
refresh_token(refreshTokeningoogleads.properties,GOOGLE_ADS_REFRESH_TOKEN): Ваш токен обновления OAuth2. -
additional_scopes(additionalScopesingoogleads.properties): Дополнительные области действия OAuth2 для запроса.
Поля сохраняются в OAuth2ServiceAccountsHandler :
-
json_key_file_path(jsonKeyFilePathingoogleads.properties,GOOGLE_ADS_JSON_KEY_FILE_PATH): Путь к JSON-файлу ключа вашей учетной записи службы. -
impersonated_email(impersonatedEmailingoogleads.properties,GOOGLE_ADS_IMPERSONATED_EMAIL): Адрес электронной почты, который будет использоваться для имитации при делегировании полномочий в масштабе всего домена Google Workspace. -
additional_scopes(additionalScopesingoogleads.properties): Дополнительные области действия OAuth2 для запроса.
Поля сохранены в Client :
-
developer_token(developerTokeningoogleads.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(loginCustomerIdingoogleads.properties,GOOGLE_ADS_LOGIN_CUSTOMER_ID): Идентификатор учетной записи менеджера, используемой для доступа к учетной записи клиента. См. документацию по login-customer-id . -
linked_customer_id(linkedCustomerIdingoogleads.properties,GOOGLE_ADS_LINKED_CUSTOMER_ID): Идентификатор связанного клиента. -
service_address(serviceAddressingoogleads.properties,GOOGLE_ADS_ENDPOINT): URL-адрес сервиса Google Ads API (по умолчанию"https://googleads.googleapis.com"). -
user_agent(userAgentingoogleads.properties,GOOGLE_ADS_PERL_USER_AGENT): Пользовательский префикс заголовка user-agent, добавляемый в HTTP-запросы. -
proxy(proxyingoogleads.properties,GOOGLE_ADS_PERL_PROXY): URL-адрес прокси-сервера, используемый для подключения к интернету. -
version(Client->newилиset_version): Модуль версии Google Ads API для использования (по умолчанию"V25"). -
die_on_faults(Client->neworset_die_on_faults): Установите значение1, чтобы методы сервиса вызывалиdie()с необработанными данными ответа при ошибках API вместо возврата объектаGoogle::Ads::GoogleAds::GoogleAdsException(по умолчанию0). -
http_timeout(Client->neworset_http_timeout): Время ожидания HTTP-запроса в секундах (по умолчанию3600). -
http_retry_timing(Client->neworset_http_retry_timing): Интервалы паузы повторных попыток в секундах для временных ошибок HTTP503и504(по умолчанию"5,10,15").