為處理含有大量資料列的結果集,Merchant Center 查詢語言支援分頁功能。您可以使用兩個參數,在 reports.search
要求主體中控制分頁:page_size
和 page_token
,此外,回應主體中也有一個輸出欄位:next_page_token
。
page_size
參數指定單一要求中要擷取的資料列數量上限。如未指定,系統會自動將頁面大小上限設為 1000 列。
page_token
參數指定要傳回的頁面權杖。如未指定,則會傳回第一頁。如要擷取後續網頁,請將先前 reports.search
呼叫中收到的 next_page_token
值做為 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'
以這項查詢為例,假設帳戶包含 100,000 個 offer_ids
,且 page_size
設為 200。因此,結果集會在第一個回應中包含 200 個 ReportRow
物件,以及 next_page_token
。
如要擷取下 200 列,請再次傳送要求,但將要求中的 page_token
更新為先前回應中的 next_page_token
,並維持相同的頁面大小。
以下是回應內容範例 (前五項結果加上 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"
}