Merchant Center Query Language รองรับการแบ่งหน้าเพื่อให้จัดการชุดผลลัพธ์ที่มีหลายแถวได้ มีพารามิเตอร์ 2 รายการที่ใช้
ควบคุมการแบ่งหน้าในreports.search
คำขอ
เนื้อหา ได้แก่ page_size
และ page_token
นอกจากนี้ยังมีฟิลด์เอาต์พุต 1 รายการในการตอบกลับ
เนื้อหา ได้แก่ next_page_token
พารามิเตอร์ page_size
ระบุจำนวนแถวสูงสุดที่จะดึงข้อมูลในคำขอเดียว หากไม่ได้ระบุ ระบบจะตั้งค่าเป็นขนาดหน้าเว็บสูงสุดโดยอัตโนมัติ
ซึ่งมี 1, 000 แถว
พารามิเตอร์ page_token
จะระบุโทเค็นของหน้าที่จะแสดง หากไม่ได้ระบุ ระบบจะแสดงผลหน้าแรก หากต้องการดึงข้อมูลหน้าถัดไป คุณควรระบุ
ค่าที่ได้รับเป็น next_page_token
จากการเรียก reports.search
ครั้งก่อน
เป็น page_token
เมื่อระบุ page_token
พารามิเตอร์อื่นๆ ทั้งหมดใน
การเรียกควรตรงกับการเรียกก่อนหน้าซึ่งส่งคืน page_token
เพื่อหลีกเลี่ยงลักษณะการทำงานที่ไม่คาดคิด
ตัวอย่าง
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks,
metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'
สําหรับคําค้นหานี้ ให้ถือว่าบัญชีมี offer_ids
100,000 รายการ และตั้งค่า page_size
เป็น 200 จากนั้นชุดผลลัพธ์จะประกอบด้วยออบเจ็กต์ ReportRow
200 รายการในการตอบกลับครั้งแรก พร้อมด้วย next_page_token
หากต้องการดึงข้อมูล 200 แถวถัดไป ให้ส่งคำขออีกครั้งโดยใช้ขนาดหน้าเดิม
แต่อัปเดต page_token
ของคำขอเป็น next_page_token
ของการตอบกลับก่อนหน้า
ตัวอย่างเนื้อหาการตอบกลับ (ผลลัพธ์ 5 รายการแรกบวกกับ
next_page_token
) มีดังนี้
{
"results": [
{
"segments": {
"offerId": "12345"
},
"metrics": {
"clicks": "0",
"impressions": "59",
"ctr": 0
}
},
{
"segments": {
"offerId": "12346"
},
"metrics": {
"clicks": "9625",
"impressions": "276695",
"ctr": 0.034785594246372356
}
},
{
"segments": {
"offerId": "12347"
},
"metrics": {
"clicks": "148",
"impressions": "22045",
"ctr": 0.0067135404853708325
}
},
{
"segments": {
"offerId": "12348"
},
"metrics": {
"clicks": "11",
"impressions": "1100",
"ctr": 0.01
}
},
{
"segments": {
"offerId": "12349"
},
"metrics": {
"clicks": "569",
"impressions": "62977",
"ctr": 0.0090350445400701838
}
},
...
],
"nextPageToken": "CMgB"
}