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