多数の行を含む結果セットを処理するために、Merchant Center のクエリ言語ではページ分けがサポートされています。reports.search
リクエスト本文でページ分割を制御するために、レスポンス本文の 1 つの出力フィールド next_page_token
に加え、page_size
と page_token
の 2 つのパラメータを使用できます。
page_size
パラメータは、1 回のリクエストで取得する行の最大数を指定します。指定しない場合は、最大ページサイズである 1, 000 行に自動的に設定されます。
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 に設定されているとします。結果セットの最初のレスポンスには、next_page_token
とともに 200 個の ReportRow
オブジェクトが含まれます。
次の 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"
}