구성

Config 클래스를 사용하여 구성을 수행합니다. 구성 파일 작성, 생성 시 값 지정, 환경 변수에서 값 로드 등 여러 방법으로 이 클래스에 액세스할 수 있습니다.

구성 파일

클라이언트를 인스턴스화할 때 사용할 google_ads_config.rb 파일을 지정할 수 있습니다.

GoogleAdsClient 객체를 인스턴스화할 때 인수를 사용하지 않으면 라이브러리가 GOOGLE_ADS_CONFIGURATION_FILE_PATH 환경 변수에 지정된 위치를 찾습니다. 이 변수가 설정되지 않은 경우 라이브러리는 HOME 디렉터리에서 파일을 찾습니다.

또는 다음과 같이 GoogleAdsClient 객체를 인스턴스화할 때 경로를 지정할 수 있습니다. 이 경우 클라이언트는 해당 경로에서 파일을 찾습니다.

  client = Google::Ads::GoogleAds::GoogleAdsClient.new("path/to/file.rb")

이 파일을 생성하는 가장 쉬운 방법은 GitHub 저장소에서 google_ads_config.rb를 복사하고 갱신 토큰, 클라이언트 ID, 클라이언트 보안 비밀번호를 포함하도록 수정하는 것입니다.

동적 구성

라이브러리를 인스턴스화할 때 또는 그 이후에도 구성을 동적으로 설정할 수 있습니다.

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 클라이언트 ID입니다.
  • client_secret: OAuth 클라이언트 보안 비밀번호입니다.
  • login_customer_id: login-customer-id 문서를 참고하세요.

로깅 필드. 자세한 내용은 로깅 가이드를 참고하세요.

  • log_level: 로깅할 최소 로그 수준 메시지입니다. 예를 들어 'DEBUG'을 지정하면 모든 로그 메시지가 표시되고 'INFO'을 지정하면 디버그 메시지는 제외되지만 다른 모든 메시지가 표시됩니다.
  • log_target: STDERR과 같이 로깅할 위치입니다.
  • logger: 자체 커스텀 로거를 지정합니다. 이를 지정하면 log_levellog_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 프록시를 지정합니다.