Python

Google에서는 Ad Manager API와 상호작용하는 Python 클라이언트 라이브러리를 제공합니다. PyPI와 함께 클라이언트 라이브러리를 사용하는 것이 좋습니다.

시작하려면 원하는 IDE에서 새 프로젝트를 만들거나 기존 프로젝트에 종속 항목을 추가합니다. Google은 클라이언트 라이브러리 아티팩트를 PyPI에 google-ads-admanager로 게시합니다.

pip install google-ads-admanager

사용자 인증 정보 구성

Python 클라이언트 라이브러리는 OAuth2 및 애플리케이션 기본 사용자 인증 정보(ADC)를 사용하여 인증합니다.

ADC는 다음 위치에서 순서대로 사용자 인증 정보를 검색합니다.

  1. GOOGLE_APPLICATION_CREDENTIALS 환경 변수입니다.
  2. Google Cloud CLI (gcloud CLI)를 통해 설정된 사용자 인증 정보
  3. 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_proxyhttps_proxy를 따릅니다.