การดึงข้อมูลอ้างอิงถึงคลาส Proto เมื่อใช้ API กำหนดให้คุณต้องมีความเข้าใจใน API โดยธรรมชาติหรือค้นหาเอกสารอ้างอิง Proto บ่อยๆ เพื่อดูเส้นทางเนมสเปซที่แน่นอน
ProtoLookupUtil
เมธอดของยูทิลิตีการค้นหาใน GoogleAdsClient (สนับสนุนโดย
Factory และ ServiceLookup ซึ่งแทนที่คลาส
ProtoLookupUtil เดิม) ช่วยให้คุณค้นหาและสร้างอินสแตนซ์ของบริการ
การดำเนินการ การแจงนับ และทรัพยากรได้โดยไม่ต้องติดตามหมายเลขเวอร์ชัน API
และเนมสเปซของโมดูล โดยค่าเริ่มต้น เมธอดเหล่านี้จะใช้ API เวอร์ชันสูงสุดที่ Gem ที่ติดตั้งไว้รองรับ (V26 ในรุ่นล่าสุด ซึ่งรุ่น API ย่อยๆ เช่น v25.1 จะใช้โมดูลเวอร์ชันหลัก V25) หรือคุณระบุคำนำหน้าเวอร์ชันที่ชัดเจน (เช่น v26) ในการเรียกการค้นหาได้
หากไม่มียูทิลิตีการค้นหา คุณจะสร้างอินสแตนซ์ทรัพยากรแคมเปญโดยตรงจากเนมสเปซที่ระบุเวอร์ชัน
campaign =
Google::Ads::GoogleAds::V26::Resources::Campaign.new
เมื่อใช้เมธอดการค้นหาของไคลเอ็นต์ คุณจะสร้างอินสแตนซ์ทรัพยากรได้โดยตรงจากไคลเอ็นต์
campaign = client.resource.campaign
เมื่อดึงข้อมูลทรัพยากร บริการ หรือการดำเนินการ ระบบจะแสดงอินสแตนซ์ของเอนทิตีนั้น
# Instantiate an operation
operation = client.operation.campaign
การค้นหาบริการ
ใช้เมธอด client.service เพื่อดึงข้อมูลไคลเอ็นต์บริการ แม้ว่าคุณจะไม่ได้ใช้ยูทิลิตีนี้กับเอนทิตีอื่นๆ client.service จะกำหนดค่าข้อมูลรับรองการตรวจสอบสิทธิ์และการตั้งค่าการขนส่งในไคลเอ็นต์บริการที่แสดงผลโดยอัตโนมัติ
campaign_service = client.service.campaign
การค้นหาการแจงนับ
สำหรับช่อง enum ในข้อความ protobuf ให้กำหนดสัญลักษณ์ Ruby โดยตรงแทนการค้นหาโมดูลการแจงนับ
campaign.status = :PAUSED
หากต้องการตรวจสอบหรือวนซ้ำสัญลักษณ์ที่ถูกต้องทั้งหมดสำหรับการแจงนับในรันไทม์ ให้ใช้ client.enum ซึ่งจะแสดงผล Google::Protobuf::EnumDescriptor สำหรับ enum นั้น
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }