Настройки управляются с помощью класса 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-прокси.