กําลังเรียกออบเจ็กต์

GoogleAdsService คือบริการการดึงข้อมูลและการรายงานออบเจ็กต์แบบรวมของ Google Ads API บริการมีวิธีการต่อไปนี้

  • ดึงข้อมูลแอตทริบิวต์ที่เฉพาะเจาะจงของออบเจ็กต์
  • ดึงข้อมูลเมตริกประสิทธิภาพของออบเจ็กต์ตามช่วงวันที่
  • จัดเรียงออบเจ็กต์ตามแอตทริบิวต์
  • ใช้เงื่อนไขเพื่อระบุออบเจ็กต์ที่ต้องการแสดงในการตอบกลับ
  • จำกัดจำนวนออบเจ็กต์ที่แสดงผล

GoogleAdsService สามารถแสดงผลลัพธ์ได้ 2 วิธีดังนี้

  • GoogleAdsService.SearchStream แสดงผลแถวทั้งหมดในการตอบกลับแบบสตรีมรายการเดียว ซึ่งมีประสิทธิภาพมากขึ้นสำหรับชุดผลลัพธ์ขนาดใหญ่ (มากกว่า 10,000 แถว) ซึ่งอาจเหมาะสมกว่าหากแอปพลิเคชันการประมวลผลเป็นกลุ่มต้องการดาวน์โหลดข้อมูลให้ได้มากที่สุดโดยเร็วที่สุด
  • GoogleAdsService.Search จะแบ่งคำตอบขนาดใหญ่ออกเป็นหน้าผลลัพธ์ที่จัดการได้ ซึ่งอาจเหมาะสมกว่าหากแอปพลิเคชันแบบอินเทอร์แอกทีฟแสดงผลการค้นหาหน้าเดียวในแต่ละครั้ง

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแบ่งหน้าเว็บกับการสตรีม

ส่งคำขอ

วิธีการค้นหาต้องมี SearchGoogleAdsRequest ซึ่งประกอบด้วยแอตทริบิวต์ต่อไปนี้

  • customer_id
  • ภาษาของคําค้นหาของ Google Ads query ที่ระบุแหล่งข้อมูลที่จะค้นหา แอตทริบิวต์ กลุ่ม และเมตริกที่จะดึงข้อมูล และเงื่อนไขที่จะใช้จํากัดออบเจ็กต์ที่จะแสดงผล
  • (GoogleAdsService.Search เท่านั้น) page_size เพื่อระบุจํานวนออบเจ็กต์ที่จะแสดงในการตอบกลับครั้งเดียวเมื่อใช้การแบ่งหน้า
  • (GoogleAdsService.Search เท่านั้น) page_token ไม่บังคับสำหรับดึงข้อมูลชุดผลลัพธ์ถัดไปเมื่อใช้การแบ่งหน้า

ดูข้อมูลเพิ่มเติมเกี่ยวกับภาษาของคําค้นหาของ Google Ads ได้ที่คําแนะนําเกี่ยวกับภาษาของคําค้นหาของ Google Ads

ประมวลผลการตอบกลับ

GoogleAdsService จะแสดงรายการออบเจ็กต์ GoogleAdsRow

GoogleAdsRow แต่ละรายการแสดงออบเจ็กต์ที่การค้นหาแสดงผล และประกอบด้วยชุดแอตทริบิวต์ที่สร้างขึ้นตามฟิลด์ที่ขอในประโยค SELECT ระบบจะไม่ป้อนข้อมูลแอตทริบิวต์ที่ไม่ได้รวมอยู่ในประโยค SELECT ลงในออบเจ็กต์ GoogleAdsRow ในคำตอบ

เช่น แม้ว่า ad_group_criterion จะมีแอตทริบิวต์ status แต่ระบบจะไม่ป้อนข้อมูลในช่อง status ของแอตทริบิวต์ ad_group_criterion ของแถวในการตอบกลับสำหรับข้อความค้นหาที่ประโยค SELECT ไม่ได้รวม ad_group_criterion.status ในทํานองเดียวกัน ระบบจะไม่ป้อนข้อมูลแอตทริบิวต์ campaign ของแถวหากประโยค SELECT ไม่ได้รวมช่องใดๆ จากแหล่งข้อมูล campaign

GoogleAdsRow แต่ละรายการอาจมีแอตทริบิวต์และเมตริกแตกต่างจากแถวอื่นในชุดผลลัพธ์เดียวกัน คุณจึงควรมองว่าแถวเป็นออบเจ็กต์แทนที่จะเป็นแถวคงที่ของตาราง

ประเภท enum ที่ไม่รู้จัก

เวอร์ชัน API นั้นไม่รองรับทรัพยากรที่แสดงผลด้วยประเภท UNKNOWN อย่างเต็มรูปแบบ ทรัพยากรเหล่านี้อาจสร้างขึ้นผ่านอินเทอร์เฟซอื่นๆ เช่น UI ของ Google Ads คุณจะเลือกเมตริกได้เมื่อทรัพยากรมีประเภทเป็น UNKNOWN แต่คุณจะเปลี่ยนรูปแบบทรัพยากรผ่าน API ไม่ได้ ตัวอย่างของกรณีนี้อาจเป็นแคมเปญหรือโฆษณาใหม่ที่เปิดตัวใน UI แต่ระบบไม่รองรับใน API เวอร์ชันที่คุณค้นหา

ข้อควรพิจารณาที่ต้องคำนึงถึงมีดังนี้

  • ทรัพยากรประเภท UNKNOWN อาจได้รับการรองรับในภายหลังหรือเป็น UNKNOWN แบบไม่มีกำหนด
  • วัตถุใหม่ที่มีประเภท UNKNOWN อาจปรากฏขึ้นได้ทุกเมื่อ ออบเจ็กต์เหล่านี้เข้ากันได้กับเวอร์ชันเก่าเนื่องจากมีค่า enum อยู่แล้ว เราได้เปิดตัวแหล่งข้อมูลพร้อมกับการเปลี่ยนแปลงนี้เพื่อให้คุณมีมุมมองที่ถูกต้องเกี่ยวกับบัญชี ทรัพยากร UNKNOWN อาจปรากฏขึ้นเนื่องจากมีกิจกรรมใหม่ในบัญชีผ่านอินเทอร์เฟซอื่นๆ หรือเมื่อระบบไม่รองรับทรัพยากรนั้นแล้ว
  • แหล่งข้อมูล UNKNOWN อาจมีเมตริกแบบละเอียดที่ค้นหาได้แนบอยู่
  • UNKNOWN โดยปกติแล้ว ทรัพยากรจะแสดงอย่างเต็มรูปแบบใน UI ของ Google Ads
  • โดยทั่วไปแล้ว ทรัพยากร UNKNOWN จะเปลี่ยนแปลงไม่ได้

การแบ่งกลุ่ม

การตอบกลับจะมี GoogleAdsRow 1 รายการสําหรับชุดค่าผสมแต่ละรายการต่อไปนี้

  • อินสแตนซ์ของทรัพยากรหลักที่ระบุไว้ในประโยค FROM
  • ค่าของช่อง segment แต่ละช่องที่เลือก

ตัวอย่างเช่น การตอบกลับสําหรับการค้นหาที่เลือก FROM campaign และมี segments.ad_network_type และ segments.date ในประโยค SELECT จะมี 1 แถวสําหรับชุดค่าผสมแต่ละรายการต่อไปนี้

  • campaign
  • segments.ad_network_type
  • segments.date

ระบบจะแบ่งกลุ่มผลลัพธ์โดยนัยตามอินสแตนซ์ของทรัพยากรหลักแต่ละรายการ ไม่ใช่ตามค่าของช่องแต่ละช่องที่เลือก ตัวอย่างเช่น

SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS

แสดงผล 1 แถวต่อแคมเปญ ไม่ใช่ 1 แถวต่อค่าที่แตกต่างกันของช่อง campaign.status