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

Конфигурация выполняется с использованием класса Config . Доступ к этому классу можно получить несколькими способами, например, написав файл конфигурации, указав значения при создании или загрузив значения из переменных среды.

Конфигурационный файл

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

Если вы не используете аргументы при создании экземпляра:

client = Google::Ads::GoogleAds::GoogleAdsClient.new

тогда библиотека будет искать местоположение, указанное в переменной среды GOOGLE_ADS_CONFIGURATION_FILE_PATH . Если эта переменная не установлена, библиотека будет искать файл в вашем HOME каталоге.

Альтернативно вы можете указать путь:

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.
  • developer_token : ваш токен разработчика для доступа к API.
  • login_customer_id : см. документацию по логину-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-прокси.