Конфигурация осуществляется с помощью класса Config . Доступ к этому классу можно получить несколькими способами, например, при создании конфигурационного файла, указании значений при создании объекта или загрузке значений из переменных окружения.
Файл конфигурации
При создании экземпляра клиента можно указать файл google_ads_config.rb .
Если при создании объекта GoogleAdsClient не указаны аргументы, библиотека будет искать файл в месте, указанном в переменной среды GOOGLE_ADS_CONFIGURATION_FILE_PATH . Если эта переменная не задана, библиотека будет искать файл в вашем HOME каталоге.
В качестве альтернативы, при создании объекта 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' # ... more configuration
end
Вы можете изменить конфигурацию даже после создания экземпляра:
client.configure do |config|
config.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
# ... more configuration
end
Поля конфигурации
Объект Config поддерживает следующие поля.
Общие области:
-
refresh_token: Ваш токен обновления OAuth. -
client_id: Ваш идентификатор клиента OAuth. -
client_secret: Ваш секретный ключ клиента OAuth. -
login_customer_id: См. документацию по login-customer-id .
Ведение журнала полей. Подробную информацию см. в руководстве по ведению журнала .
-
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
При каждом вызове этой функции текущее состояние переменных окружения будет перезаписывать все, что уже присутствует в Config . С помощью этого механизма вы можете, например, иметь конфигурацию по умолчанию, но переопределять определенные значения с помощью переменных окружения, или же полностью настроить систему с помощью переменных окружения.
В дополнение к переменным окружения, поддерживаемым всеми библиотеками, библиотека Ruby имеет две дополнительные переменные:
-
GOOGLE_ADS_RUBY_LOG_LEVEL:log_level, как объяснялось ранее. -
GOOGLE_ADS_RUBY_HTTP_PROXY: Укажите HTTP-прокси.