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