W celu obsługi zbiorów wyników zawierających dużą liczbę wierszy,
Język Center Query Language obsługuje podział na strony. Dostępne są dwa parametry
sterowanie podziałem na strony w żądaniu reports.search
treść:
page_size
i page_token
, oprócz jednego pola danych wyjściowych w odpowiedzi
treść:
next_page_token
.
Parametr page_size
określa maksymalną liczbę wierszy do pobrania w polu
tylko jedno żądanie. Jeśli nie określono inaczej, jest automatycznie ustawiany maksymalny rozmiar strony.
1000 wierszy.
Parametr page_token
określa token strony do zwrócenia. Jeśli
nie określono, zwracana jest pierwsza strona. Aby pobrać kolejną stronę, funkcja
wartość otrzymana jako next_page_token
z poprzedniego wywołania funkcji reports.search
należy podać jako page_token
. Jeśli pole page_token
jest podane, wszystkie pozostałe
parametry w wywołaniu powinny być zgodne z poprzednim wywołaniem, które zwróciło
page_token
, aby uniknąć nieoczekiwanego działania.
Przykład:
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks,
metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'
W przypadku tego zapytania załóżmy, że konto zawiera 100 000 elementów offer_ids
oraz
page_size
ma wartość 200. Zbiór wynikowy będzie wtedy zawierał 200 ReportRow
.
obiekty w pierwszej odpowiedzi wraz z obiektem next_page_token
.
Aby pobrać następne 200 wierszy, wyślij żądanie ponownie z tym samym rozmiarem strony,
ale zaktualizuj pole page_token
żądania do poprzedniej odpowiedzi
next_page_token
Oto przykład treści odpowiedzi (pierwszych 5 wyników oraz
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"
}