Paginate query results

שפת השאילתה של Merchant Center מספקת את השדות הבאים לחלוקה לדפים:

  • pageSize: מספר השורות המקסימלי לאחזור בבקשה אחת. ברירת המחדל היא גודל דף מקסימלי של 1,000 שורות.
  • pageToken: האסימון של הדף להחזרה. אם לא מצוין, יוצג הדף הראשון.
  • nextPageToken: הערך של pageToken כדי לקבל את הדף הבא מהקריאה accounts.reports.search.

כשמציינים את הפרמטר pageToken, כל שאר הפרמטרים בקריאה חייבים להתאים לקריאה הקודמת כדי למנוע התנהגות לא צפויה.

לדוגמה, אם שולחים את השאילתה הבאה בחשבון שיש בו 100,000 ערכים של offer_id, והערך של pageSize מוגדר כ-200, התוצאה תכלול רק 200 אובייקטים של ReportRow בתגובה הראשונה, יחד עם nextPageToken:

SELECT offer_id, impressions, clicks, click_through_rate
FROM product_performance_view
WHERE date BETWEEN '2023-12-01' AND '2023-12-31'

זוהי דוגמה לתשובה (חמש התוצאות הראשונות ו-nextPageToken):

{
  "results": [
    {
      "productPerformanceView": {
        "offerId": "12345",
        "clicks": "0",
        "impressions": "59",
        "clickThroughRate": 0
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12346",
        "clicks": "9625",
        "impressions": "276695",
        "clickThroughRate": 0.034785594246372356
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12347",
        "clicks": "148",
        "impressions": "22045",
        "clickThroughRate": 0.0067135404853708325
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12348",
        "clicks": "11",
        "impressions": "1100",
        "clickThroughRate": 0.01
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12349",
        "clicks": "569",
        "impressions": "62977",
        "clickThroughRate": 0.0090350445400701838
      }
    },
    ...
  ],
  "nextPageToken": "CMgB"
}

כדי לאחזר את 200 השורות הבאות, שולחים את הבקשה שוב עם אותו גודל דף, אבל מעדכנים את הערך של pageToken בבקשה לערך של nextPageToken בתגובה הקודמת.