擷取在各處使用 API 所需的各種 proto 類別參照 Python 可能很詳細,因此需要您具備對 用於參考 proto 或說明文件的 API 或經常環境切換。
用戶端的 get_service
和 get_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
敬上
設為 true
或 false
如要進一步瞭解這兩個介面,請參閱
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_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
關鍵字參數,程式庫會預設使用
最新版本。最新可用版本和其他可用版本的更新清單
請前往左側導覽面板的左側導覽部分
API 參考資料說明文件。