Dziel wyniki zapytania na strony

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"
}