구성

클라이언트를 구성하는 방법에는 여러 가지가 있습니다.

YAML 파일을 사용하는 구성

YAML 파일과 같은 요청을 수행하는 데 필요한 인증 정보 이 파일은 클라이언트가 초기화될 때 load_from_storage 메서드를 사용하여 액세스됩니다. 이 파일을 생성하는 가장 쉬운 방법은 google-ads.yaml GitHub 저장소에서 예시로 가져오고 사용자 인증 정보, 개발자 토큰, 갱신 토큰, 클라이언트 ID, 클라이언트 비밀번호 등이 포함됩니다.

경로를 제공하지 않으면 라이브러리는 $HOME 디렉터리를 찾습니다. 다음 명령어를 실행합니다.

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

google-ads.yaml 파일이 있는 위치를 지정하려면 다음을 전달합니다. 메서드를 호출할 때 다음과 같은 문자열 형식으로 반환합니다.

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

다음과 같이 특정 환경 변수를 정의하여 경로를 지정할 수도 있습니다.

import os

os.environ["GOOGLE_ADS_CONFIGURATION_FILE_PATH"] = "path/to/google-ads.yaml"
from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_storage()

두 값이 모두 제공되는 경우 경로가 메서드 위의 환경 변수가 있는 경우 라이브러리는 경로의 우선순위를 지정합니다. 메서드에 전달됩니다.

환경 변수를 사용한 구성

모든 클라이언트 구성을 환경 변수로 저장할 수 있습니다. 클라이언트의 load_from_env 메서드를 사용할 때 이 값을 읽습니다. 환경 변수의 이름은 google-ads.yaml에 정의된 변수와 동일해야 합니다. 모두 대문자로 시작하고 GOOGLE_ADS_ 접두사를 붙여야 합니다. 네임스페이스입니다. 예를 들어 client_idGOOGLE_ADS_CLIENT_ID로 저장해야 합니다.

환경 변수는 일반적으로 다음과 같은 bash 구성 파일에서 정의됩니다. $HOME 디렉터리에 있는 .bashrc 또는 .bash_profile 파일로 저장됩니다. 그들은 명령줄을 사용하여 정의할 수도 있습니다 이 안내는 bash를 사용한다고 가정합니다. 다른 셸을 사용하는 경우 를 참조하세요. 살펴보겠습니다

다음은 .bashrc를 사용하여 환경 변수를 정의하는 몇 가지 기본 단계입니다. 파일을 업로드합니다.

# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
$ echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
$ src ~/.bashrc

터미널 인스턴스에서 직접 환경 변수를 설정할 수도 있습니다. 를 실행합니다.

$ export GOOGLE_ADS_CLIENT_ID=1234567890
$ echo $GOOGLE_ADS_CLIENT_ID
1234567890

load_from_env 메서드는 environ에서 구성 데이터를 로드합니다. Python의 기본 제공 os 모듈에 있습니다. 예:os.environ["GOOGLE_ADS_CLIENT_ID"]

다음은 구성으로 클라이언트 인스턴스를 초기화하는 방법의 예입니다. 환경 변수에서 삭제합니다.

from google.ads.googleads.client import GoogleAdsClient
client = GoogleAdsClient.load_from_env()

환경 변수를 통해 logging를 구성하려면 구성이 값은 샘플 google-ads.yaml 구성 파일을 참조하세요.

다음은 .bashrc 파일을 사용하여 이를 설정하는 방법을 보여주는 예입니다.

export GOOGLE_ADS_LOGGING='{
  "version": 1,
  "disable_existing_loggers": false,
  "formatters": {
    "default_fmt": {
      "format": "[%(asctime)s - %(levelname)s] %(message).5000s",
      "datefmt": "%Y-%m-%d %H:%M:%S"
    }
  },
  "handlers": {
    "default_handler": {
      "class": "logging.StreamHandler",
      "formatter": "default_fmt"
    }
  },
  "loggers": {
    "": {
      "handlers": ["default_handler"],
      "level": "INFO"
    }
  }
}'

YAML 문자열을 사용하는 구성

YAML 파일을 메모리로 읽은 경우에는 YAML 파일을 클라이언트로 초기화해야 합니다. 이렇게 하려면 load_from_string 메서드를 사용하면 됩니다.

from google.ads.googleads.client import GoogleAdsClient

with open("/path/to/yaml", "rb") as handle:
    yaml = handle.read()

client = GoogleAdsClient.load_from_string(yaml)

dict를 사용한 구성

dictload_from_dict 메서드에 직접 전달할 수 있습니다. 예를 들면 다음과 같습니다.

from google.ads.googleads.client import GoogleAdsClient

credentials = {
    "developer_token": "abcdef123456",
    "refresh_token": "1//0abcdefghijklABCDEF",
    "client_id": "123456-abcdef.apps.googleusercontent.com",
    "client_secret": "aBcDeFgHiJkL"}

client = GoogleAdsClient.load_from_dict(credentials)

구성 필드

클라이언트 라이브러리 구성은 다음 필드를 지원합니다.

일반 필드 (YAML 또는 dict를 사용하든 상관없이 동일한 이름) 합니다.

  • refresh_token: OAuth 갱신 토큰입니다.
  • client_id: OAuth 클라이언트 ID입니다.
  • client_secret: OAuth 클라이언트 보안 비밀번호입니다.
  • developer_token: API에 액세스하기 위한 개발자 토큰입니다.
  • login_customer_id: login-customer-id 문서를 참조하세요.
  • linked_customer_id: linked-customer-id를 참조하세요. 문서를 참조하세요.
  • json_key_file_path (이전 path_to_private_key_file): 로컬 비공개 키 파일을 생성합니다. 서비스를 사용하여 인증하는 데 사용됩니다. 있습니다. OAuth2 서비스 계정 문서를 참조하세요.
  • impersonated_email (이전 delegate_account): 사용된 계정 이메일 권한을 위임받을 수 있습니다. 서비스 계정을 사용하여 인증하는 데 사용됩니다. 자세한 내용은 OAuth2 서비스 계정 문서를 참조하세요.
  • logging: 로깅 구성입니다. 로깅 필드는 아래에 설명되어 있습니다.
  • http_proxy: 프록시 문서를 참조하세요.
  • use_proto_plus: proto-plus 메시지 사용 여부입니다. 자세한 내용은 Protobuf 메시지 문서

환경 변수인 일반 필드:

  • GOOGLE_ADS_CONFIGURATION_FILE_PATH
  • GOOGLE_ADS_REFRESH_TOKEN
  • GOOGLE_ADS_CLIENT_ID
  • GOOGLE_ADS_CLIENT_SECRET
  • GOOGLE_ADS_DEVELOPER_TOKEN
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID
  • GOOGLE_ADS_LINKED_CUSTOMER_ID
  • GOOGLE_ADS_JSON_KEY_FILE_PATH (이전 명칭: GOOGLE_ADS_PATH_TO_PRIVATE_KEY_FILE)
  • GOOGLE_ADS_IMPERSONATED_EMAIL (이전 명칭: GOOGLE_ADS_DELEGATE_ACCOUNT)
  • GOOGLE_ADS_LOGGING
  • GOOGLE_ADS_HTTP_PROXY
  • GOOGLE_ADS_USE_PROTO_PLUS

로깅 필드(logging 구성 아래에 있는 필드) 필드: logging.config 기본 제공 모듈에서 직접 파생됨 라이브러리가 logging 네임스페이스 아래의 모든 필드를 전달하기 때문입니다. 직접 logging.config.dictConfig 메서드를 사용하여 축소하도록 요청합니다. 자세한 내용은 로깅 가이드를 참조하세요.

  • version: 스키마 버전을 나타내는 정수 값입니다.
  • disable_existing_loggers: 로거가 사용 중지해야 합니다.
  • formatters: 다양한 종류의 형식 지정 도구를 정의하는 사전입니다.
  • handlers: 다른 핸들러를 정의하는 사전으로, 어떤 형식 지정 도구를 사용해야 하는지를 보여줍니다.
  • loggers: 다음을 비롯한 다양한 로거 유형을 정의하는 사전 지정할 수 있습니다