Конфигурация управляется с помощью класса Config. Вы можете настроить клиент с помощью файла конфигурации, указав значения динамически при создании или загрузив значения из переменных среды.
Файл конфигурации
Вы можете указать файл google_ads_config.rb, который будет использоваться при создании экземпляра клиента.
Если при создании объекта GoogleAdsClient не передать никаких аргументов, библиотека будет искать файл конфигурации в следующем порядке:
- Путь, указанный в переменной среды
GOOGLE_ADS_CONFIGURATION_FILE_PATH. - Файл
google_ads_config.rbв каталогеHOME(~/google_ads_config.rb).
Вы также можете передать явный путь при создании экземпляра объекта GoogleAdsClient:
client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/file.rb')
Чтобы создать этот файл, скопируйте google_ads_config.rb из хранилища GitHub и добавьте в него токен обновления, идентификатор клиента и секретный код клиента.
Динамическая конфигурация
Вы можете настроить конфигурацию динамически при создании экземпляра библиотеки:
client = Google::Ads::GoogleAds::GoogleAdsClient.new do |config|
config.client_id = 'INSERT_CLIENT_ID_HERE'
# ... additional configuration
end
Вы также можете изменить конфигурацию после создания экземпляра (это переопределит настройки, загруженные во время инициализации):
client.configure do |config|
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
# ... additional configuration
end
Поля конфигурации
Объект Config поддерживает следующие поля:
Общие поля:
refresh_token– токен обновления OAuth (GOOGLE_ADS_REFRESH_TOKEN).client_id– идентификатор клиента OAuth (GOOGLE_ADS_CLIENT_ID).client_secret– секретный код клиента OAuth (GOOGLE_ADS_CLIENT_SECRET).keyfile– путь к файлу ключа JSON сервисного аккаунта (GOOGLE_ADS_JSON_KEY_FILE_PATH).impersonate– адрес электронной почты, который нужно использовать при работе с сервисным аккаунтом с делегированием доступа к данным в домене (GOOGLE_ADS_IMPERSONATED_EMAIL).use_application_default_credentials: задайте значениеtrue, чтобы выполнять аутентификацию с помощью учетных данных приложения по умолчанию (GOOGLE_ADS_USE_APPLICATION_DEFAULT_CREDENTIALS). Поддерживается вgoogle-ads-googleadsверсии 36.1.0 и более поздних.authentication– объект пользовательской аутентификации, напримерProc(updater_proc), путь к файлу ключа,Hash,GRPC::Core::ChannelилиGRPC::Core::ChannelCredentials. Переопределяет значенияclient_id,client_secret,refresh_tokenиkeyfile.login_customer_id: ознакомьтесь с документацией по идентификатору клиента для входа (GOOGLE_ADS_LOGIN_CUSTOMER_ID).linked_customer_id– идентификатор связанного клиента (GOOGLE_ADS_LINKED_CUSTOMER_ID).ads_assistant– необязательный идентификатор для заголовка Google Ads API Assistant (GOOGLE_ADS_ASSISTANT; добавлен какgaadaв версии 37.0.0 и переименован вads_assistantв версии 39.0.0).http_proxy– необязательный URI HTTP-прокси или HTTPS-прокси (GOOGLE_ADS_RUBY_HTTP_PROXY).api_endpoint– необязательное переопределение конечной точки API (GOOGLE_ADS_ENDPOINT).treat_deprecation_warnings_as_errors– вызывать исключение вместоWarning#warn, когда вызывается устаревший код библиотеки (по умолчаниюfalse).warn_on_all_deprecations: выводить предупреждение об устаревании при каждом вызове, а не один раз на сайт вызова (falseпо умолчанию).
Поля журнала (подробную информацию можно найти в руководстве по ведению журнала):
log_level: минимальный уровень сообщений, которые вы хотите регистрировать. Например, если указать'DEBUG', будут регистрироваться все сообщения, а если указать'INFO', сообщенияDEBUGбудут исключены, а все остальные – показаны.log_target– место, куда вы хотите записывать данные, напримерSTDERRили путь.logger– позволяет указать собственный регистратор. Если вы укажете это значение, оно переопределит значенияlog_levelиlog_target.
Переменные среды
Вы можете настроить клиентскую библиотеку с помощью переменных среды. Они не загружаются по умолчанию, и для их загрузки требуется явный вызов после создания экземпляра клиента. Ознакомьтесь с полным списком стандартных переменных среды.
Чтобы загрузить переменные среды в Config, вызовите load_environment_config:
client = Google::Ads::GoogleAds::GoogleAdsClient.new
client.load_environment_config
При каждом вызове load_environment_config любые определенные переменные среды перезаписывают соответствующие значения, уже присутствующие в Config (незаданные переменные среды оставляют существующие значения конфигурации без изменений). Этот механизм позволяет использовать файл конфигурации по умолчанию и переопределять определенные значения с помощью переменных среды или полностью настраивать клиент с помощью переменных среды.
Помимо стандартных переменных среды, библиотека Ruby поддерживает две дополнительные переменные:
GOOGLE_ADS_RUBY_LOG_LEVEL– эквивалентlog_level, как описано выше.GOOGLE_ADS_RUBY_HTTP_PROXY– укажите URL HTTP-прокси.