為了處理含有大量資料列的結果集,
中心查詢語言支援分頁。有兩個參數
控制 reports.search
要求中的分頁
內文:
page_size
和 page_token
,以及 回應
內文:
next_page_token
。
page_size
參數會指定在清單中擷取的資料列數量上限
單一請求。如果未指定,系統會自動設為頁面大小上限
。
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
。
以下是回應主體的範例 (前 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"
}