نظرة عامة

التقسيم على صفحات

تتيح ميزة "البحث في المقالات الرئيسية" التقسيم على صفحات لاستيعاب طلبات لقطة كبيرة في عمليات جلب (عمليات سحب) متعددة للصفحات. ستسحب Google نقطة نهاية شريك معيّنة باستخدام معلَمة maxresults للحدّ أقصى عدد مسموح به من ServiceProviders في استجابة JSON. سيعمل الشركاء على تعبئة رمز التقسيم على صفحات في الحقل metadata.pagination.nextTokenParam في استجابة JSON. قيمة هذا الرمز المميز خاصة بالشريك وتُستخدم لإنشاء عنوان URL للصفحة التالية. ويجب عدم ملء الحقل nextTokenParam للصفحة الأخيرة. ملاحظة: يجب دائمًا تعبئة العنصر metadata.pagination (كما هو مطلوب في المخطط)، على الرغم من أنّ الصفحة الأخيرة لن تحتوي على الحقل nextTokenParam. علاوةً على ذلك، يشير totalCount إلى إجمالي عدد مقدّمي الخدمة (أو reviewItems في حال خلاصة المراجعات) على مستوى جميع الصفحات.

على سبيل المثال، إذا تضمّن الشريك 200 مقدِّم خدمة في اللقطة الكاملة. عندما تبدأ Google نقل الخلاصات باستخدام عنوان URL http://www.partners.com/feeds/{version}/profile&maxresults=100 يجب أن تعرض الصفحة الأولى أول 100 مزوّد شريك مع metaData التالية:

"metaData": {
     "feedCategory":"SNAPSHOT",
     "feedTimestampMicros":1532930955190163,
     "apiVersion": "v1",
     "pagination": {
        "nextTokenParam": "yre7yiesar"
     },
     "totalCount":200
}
"serviceProviders": {....}   // Contains 100 service provider objects.

ستحلّل Google nextTokenParam: "yre7yiesar" وستبدأ عملية النقل الثانية باستخدام عنوان URL: http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100

يجب أن تعرض الصفحة الثانية آخر 100 مقدم خدمة. وبما أنّ الصفحة الثانية هي أيضًا الصفحة الأخيرة، لن تتم تعبئة nextTokenParam (metaData المثال أدناه)، ما يشير إلى نهاية التقسيم على صفحات.

"metaData": {
     "feedCategory":"SNAPSHOT",
     "feedTimestampMicros":1532930955190164,
     "apiVersion": "v1",
     "pagination": {},
     "totalCount":200
}
"serviceProviders": {....}

ملاحظة: بعد استرجاع جميع الصفحات، يجب أن يكون إجمالي عدد عناصر serviceProviders (في جميع الصفحات) مساويًا لعدد totalCount العناصر المُشار إليها في عملية جلب الصفحة الأولى.