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

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

Поля регистрации. Полную информацию см. в руководстве по ведению журнала .

  • 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-прокси.