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