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