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

Конфигурация управляется с помощью класса 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-прокси.