ภาษาการค้นหาของ Merchant Center รองรับการแบ่งหน้าเพื่อจัดการชุดผลลัพธ์ที่มีแถวจํานวนมาก พารามิเตอร์ 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"
}