Google에서는 Ad Manager API와 상호작용하는 Python 클라이언트 라이브러리를 제공합니다. PyPI와 함께 클라이언트 라이브러리를 사용하는 것이 좋습니다.
시작하려면 원하는 IDE에서 새 프로젝트를 만들거나 기존 프로젝트에 종속 항목을 추가합니다. Google은 클라이언트 라이브러리 아티팩트를 PyPI에 google-ads-admanager
로 게시합니다.
pip install google-ads-admanager
사용자 인증 정보 구성
Python 클라이언트 라이브러리는 OAuth2 및 애플리케이션 기본 사용자 인증 정보(ADC)를 사용하여 인증합니다.
ADC는 다음 위치에서 순서대로 사용자 인증 정보를 검색합니다.
GOOGLE_APPLICATION_CREDENTIALS
환경 변수입니다.- Google Cloud CLI (gcloud CLI)를 통해 설정된 사용자 인증 정보
- Google Cloud에서 실행되는 경우 Google Cloud 리소스에 연결된 서비스 계정입니다.
ADC 사용자 인증 정보를 만들고 구성하는 방법은 인증을 참고하세요.
첫 번째 요청하기
각 서비스에는 각 REST 메서드의 동기식 메서드와 비동기식 메서드가 모두 포함된 ServiceClient
객체가 있습니다. 다음 예에서는 Network
를 동기식으로 읽습니다.
from google.ads import admanager_v1
def sample_get_network():
# Create a client
client = admanager_v1.NetworkServiceClient()
# Initialize request argument(s)
request = admanager_v1.GetNetworkRequest(
name="networks/[NETWORK_CODE]",
)
# Make the request
response = client.get_network(request=request)
# Handle the response
print(response)
다른 메서드 및 리소스의 예는 GitHub 저장소 googleapis/google-cloud-python
를 참고하세요.
HTTP 요청 및 응답 로깅
Python 클라이언트 라이브러리는 표준 Python logging
라이브러리를 사용하여 HTTP 요청 및 응답을 로깅합니다. 기본적으로 로깅은 사용 중지되어 있습니다.
로깅을 사용 설정하려면 환경 변수 GOOGLE_SDK_PYTHON_LOGGING_SCOPE
를 설정합니다. 이 환경 변수는 logging.DEBUG
이상 수준에서 로깅 이벤트 처리를 구성합니다.
# Log only Ad Manager API events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google.ads.admanager_v1
# Log all Google library events
export GOOGLE_SDK_PYTHON_LOGGING_SCOPE=google
또는 Python logging
모듈을 사용할 수 있습니다.
import logging
from google.ads import admanager_v1
logger = logging.getLogger("google.ads.admanager_v1")
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.DEBUG)
오류 처리
모든 API 오류는 기본 클래스 GoogleAPIError
를 확장합니다.
오류 이유 필드는 오류 유형을 고유하게 식별합니다. 이 필드를 사용하여 오류를 처리하는 방법을 결정합니다.
try:
network = client.get_network(request=request)
print(network)
except GoogleAPIError as e:
# Handle error
print(e.reason)
Ad Manager API 오류에는 문제 해결을 위해 지원팀에 제공할 수 있는 고유한 requestId
도 포함됩니다. 다음 예에서는 GoogleAPIError
에서 requestId
를 추출합니다.
except GoogleAPIError as e:
requestInfoType = "type.googleapis.com/google.rpc.RequestInfo"
requestInfo = [detail for detail in e.details if detail['@type'] == requestInfoType][0]
print(requestInfo['requestId'])
프록시 설정 구성
Python 클라이언트 라이브러리는 환경 변수 설정 http_proxy
및 https_proxy
를 따릅니다.