多数の行を含む結果セットを処理するため、Merchant Center のクエリ言語はページネーションをサポートしています。reports.search
リクエスト本文でページネーションを制御するには、レスポンス本文の 1 つの出力フィールドと、next_page_token
の 2 つのパラメータ(page_size
と page_token
)を使用できます。
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 に設定されているとします。結果セットには、最初のレスポンスに含まれる 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"
}