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"
}