Paginate query results

בשפת השאילתות של Merchant Center מופיעים השדות הבאים לעימוד:

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

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

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

SELECT offerId, impressions, clicks, clickThroughRate
FROM ProductPerformanceView
WHERE date BETWEEN '2021-12-01' AND '2021-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 מהתגובה הקודמת.