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