클라이언트를 구성하는 방법에는 여러 가지가 있습니다.
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_id
는 GOOGLE_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
를 사용한 구성
dict
를 load_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
: 다음을 비롯한 다양한 로거 유형을 정의하는 사전 지정할 수 있습니다