服務和類型 Getter

擷取在各處使用 API 所需的各種 proto 類別參照 Python 可能很詳細,因此需要您具備對 用於參考 proto 或說明文件的 API 或經常環境切換。

用戶端的 get_serviceget_type 方法

這兩種 getter 方法可讓您在 也能使用 Google Cloud CLI 或 Compute Engine APIget_service 方法可用來擷取服務用戶端。get_type 用於任何其他物件程式碼中定義服務用戶端類別 在版本路徑 google/ads/googleads/v*/services/services/ 下 分別定義在各種物件類別中 google/ads/googleads/v*/common|enums|errors|resources|services/types/。 因此會產生 version 目錄下的所有程式碼,因此 請多加練習使用這些方法,而不要直接匯入物件。 程式碼集的結構有所變更

以下範例說明如何使用 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 方法擷取列舉,但每個 GoogleAdsClient 執行個體也具有 enums 屬性 使用與 get_type 方法相同的機制載入列舉。這個介面 比使用 get_type 更簡潔易讀:

client = GoogleAdsClient.load_from_storage(version=v17)

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

列舉的 Proto 物件欄位在 Python 中由原生應用程式表示 enum 類型。也就是說 就能輕鬆讀取會員的價值使用 campaign 執行個體 執行先前的 Python repl 範例:

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

有時候,瞭解與 列舉值,如上所示。您可以使用 name存取這項資訊 屬性:

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

與列舉互動的方式,取決於您是否擁有 use_proto_plus敬上 設為 truefalse如要進一步瞭解這兩個介面,請參閱 protobuf 訊息說明文件

版本管理

同時維護多個 API 版本。雖然 「v17」可能是最新版本,較舊版本仍在中 直到日落為止程式庫會包含獨立的 proto 以及對應至各個有效 API 版本的訊息類別。存取訊息的方法 特定版本的類別提供 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_serviceget_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 關鍵字參數,程式庫會預設使用 最新版本。最新可用版本和其他可用版本的更新清單 請前往左側導覽面板的左側導覽部分 API 參考資料說明文件。