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