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 מהתגובה הקודמת.