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

Настройки управляются с помощью класса Config. Вы можете настроить клиент, используя файл конфигурации, динамически указывая значения при создании или загружая значения из переменных среды.

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

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

Если при создании объекта GoogleAdsClient не передать никаких аргументов, библиотека будет искать файл конфигурации в следующем порядке:

  1. Путь, указанный в переменной среды GOOGLE_ADS_CONFIGURATION_FILE_PATH.
  2. Файл 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-прокси.