서비스 및 유형 getter

API를 사용하는 데 필요한 모든 다양한 proto 클래스에 Python은 장황할 수 있으며 API 또는 컨텍스트 전환을 자주 사용하여 proto 또는 문서를 참조합니다.

클라이언트의 get_serviceget_type 메서드

이 두 가지 getter 메서드를 사용하면 API에 액세스할 수 있습니다. get_service 메서드는 서비스 클라이언트를 검색하는 데 사용됩니다. get_type 다른 객체에 사용됩니다. 코드에 정의된 서비스 클라이언트 클래스 버전 경로 google/ads/googleads/v*/services/services/ 아래 및 모든 유형은 다양한 객체 카테고리 아래에 정의되며 google/ads/googleads/v*/common|enums|errors|resources|services/types/입니다. 버전 디렉터리 아래에 있는 모든 코드가 생성되므로 객체를 직접 가져오는 대신 이러한 메서드를 사용하는 것이 코드베이스 구조가 변경됩니다.

다음은 get_service 메서드를 사용하여 인스턴스를 검색하는 방법을 보여주는 예입니다. (GoogleAdsService 클라이언트)

from google.ads.googleads.client import GoogleAdsClient

# "load_from_storage" loads your API credentials from disk so they
# can be used for service initialization. Providing the optional `version`
# parameter means that the v17 version of GoogleAdsService will
# be returned.
client = GoogleAdsClient.load_from_storage(version="v17")
googleads_service = client.get_service("GoogleAdsService")

다음은 get_type 메서드를 사용하여 Campaign 인스턴스

from google.ads.googleads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage(version="v17")
campaign = client.get_type("Campaign")

열거형

get_type 메서드를 사용하여 enum을 검색할 수 있지만 각각 GoogleAdsClient 인스턴스에도 동적으로 생성되는 enums 속성도 있습니다. get_type 메서드와 동일한 메커니즘을 사용하여 enum을 로드합니다. 이 인터페이스 get_type를 사용하는 것보다 더 간단하고 읽기 쉽게 고안되었습니다.

client = GoogleAdsClient.load_from_storage(version=v17)

campaign = client.get_type("Campaign")
campaign.status = client.enums.CampaignStatusEnum.PAUSED

Python에서 enum으로 되어 있는 Proto 객체 필드는 기본 enum 유형. 즉, 멤버의 값을 쉽게 읽을 수 있습니다 campaign 인스턴스 작업 를 사용해야 합니다.

>>> print(campaign.status)
CampaignStatus.PAUSED
>>> type(campaign.status)
<enum 'CampaignStatus'>
>>> print(campaign.status.value)
3

경우에 따라 enum 값을 사용합니다. name를 사용하여 이 정보에 액세스할 수 있습니다. 속성:

>>> print(campaign.status.name)
'PAUSED'
>>> type(campaign.status.name)
<class 'str'>

enum과 상호작용하는 것은 use_proto_plus 드림 구성을 true 또는 false로 설정합니다. 두 인터페이스에 대한 자세한 내용은 protobuf 메시지 문서를 참조하세요.

버전 관리

여러 버전의 API가 동시에 유지관리됩니다. 동안 v17이(가) 최신 버전일 수 있으며, 이전 버전이 계속 사용됩니다. 만료될 때까지 액세스할 수 없습니다. 라이브러리에는 별도의 proto가 포함됩니다. 메시지 클래스만 반환합니다. 메시지에 액세스하기 클래스는 다음 시점에 version 키워드 매개변수를 제공합니다. 항상 주어진 해당 저장소에서 인스턴스를 반환하도록 버전:

client = GoogleAdsService.load_from_storage(version="/google-ads/api/reference/rpc/v17/")
# The Campaign instance will be from the v17 version of the API.
campaign = client.get_type("Campaign")

get_service를 호출할 때 버전을 지정할 수도 있습니다. get_type 메서드와 함께 사용할 수 있습니다. 이렇게 하면 클라이언트 초기화:

client = GoogleAdsService.load_from_storage()
# This will load the v17 version of the GoogleAdsService.
googleads_service = client.get_service(
    "GoogleAdsService", version="v17")

client = GoogleAdsService.load_from_storage(version="v17")
# This will load the v15 version of a Campaign.
campaign = client.get_type("Campaign", version="v15")

version 키워드 매개변수가 제공되지 않으면 라이브러리는 기본적으로 최신 버전으로 업데이트합니다. 사용 가능한 최신 버전의 업데이트된 목록 Ad Exchange 계정의 왼쪽 탐색 섹션에서 API 참조 문서