使用 API 時,如要擷取 proto 類別的參照,您必須對 API 有深入瞭解,或是經常查詢 proto 參考文件,找出確切的命名空間路徑。
ProtoLookupUtil
GoogleAdsClient 上的查閱公用程式方法 (由 Factory 和 ServiceLookup 支援,取代舊版 ProtoLookupUtil 類別) 可讓您查閱及建立服務、作業、列舉和資源的例項,不必追蹤 API 版本號碼和模組命名空間。根據預設,這些方法會使用已安裝 Gem 支援的最高 API 版本 (最新版本中的 V25,其中 v25.1 等次要 API 版本會使用主要版本模組 V25),您也可以在查詢呼叫中指定明確的版本前置字元 (例如 v25)。
如果沒有查閱公用程式,您可以直接從其版本化命名空間例項化廣告活動資源:
campaign =
Google::Ads::GoogleAds::V25::Resources::Campaign.new
透過用戶端查詢方法,您可以直接從用戶端例項化資源:
campaign = client.resource.campaign
擷取資源、服務或作業時,系統會傳回該實體的例項:
# Instantiate an operation
operation = client.operation.campaign
服務查詢
即使您不使用這項公用程式處理其他實體,仍可使用 client.service 方法擷取服務用戶端。client.service 會自動在傳回的服務用戶端上設定驗證憑證和傳輸設定:
campaign_service = client.service.campaign
列舉查詢
如果是 protobuf 訊息中的列舉欄位,請直接指派 Ruby 符號,不必查詢列舉模組:
campaign.status = :PAUSED
如要在執行階段檢查或疊代列舉的所有有效符號,請使用 client.enum,這會傳回該列舉的 Google::Protobuf::EnumDescriptor:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }