مرحباً بالجميع!
بالنسبة للشركة التي أعمل بها، نقوم باستخراج المواضيع التي تم إنشاؤها عبر جميع منتديات Discourse الخاصة بالشركة عن طريق إرسال طلبات إلى عنوان URL لكل فئة (على سبيل المثال، مثل: https://{organization_url}/c/{c}/{category_slug}/{subcategory_slug}/206.json). نحتاج إلى حساب عدد المواضيع التي تم إنشاؤها لكل فئة في كل تاريخ، ولكن عند مقارنة النتائج حسب التاريخ التي تم الحصول عليها عبر واجهة برمجة التطبيقات مقابل البحث عن المواضيع في Discourse، نجد أنه بالنسبة لبعض الفئات/الفئات الفرعية، فإنها لا تتطابق تمامًا.
على سبيل المثال، لتاريخ معين (مثل 2022-07-01)، تُرجع واجهة برمجة التطبيقات 3 مواضيع، بينما عند البحث في Discourse لنفس التاريخ نحصل على 4 مواضيع، والغريب هو أن أحد المواضيع يعود في الواقع إلى يوم سابق (2022-06-30). بخلاف ذلك، فإن هذا الموضوع من 2022-06-30 لا يتم إرجاعه بواسطة واجهة برمجة التطبيقات (لا يُظهر أي مواضيع تم إنشاؤها في ذلك التاريخ) وإذا قمت بالبحث في Discourse عن المواضيع التي تم إنشاؤها في 2022-06-30، فلا توجد مطابقات.
أقوم بالبحث باستخدام عوامل التصفية: in:first after:2022-07-01 before:2022-07-02 في شريط البحث. ماذا يمكن فعله في هذه الحالة؟ أو هل هناك أي نوع من الأخطاء في ميزة واجهة برمجة التطبيقات/شريط البحث؟
(عذرًا، لا يمكنني تحميل أي صور لإظهار أي نتائج بسبب مشكلات السرية. آمل أن يكون الشرح واضحًا على الأقل).
مرحباً جاي، شكراً على إجابتك. لست متأكداً مما إذا كان ذلك يتعلق بالمناطق الزمنية (سيشرح ذلك فقط سبب ظهور الموضوع الذي تم إنشاؤه في 2022-06-30 في واجهة الويب تحت نفس تاريخ الموضوعات التي تم إنشاؤها في 2022-07-01) لأن واجهة برمجة التطبيقات (API) لا تعرض الموضوع المنشور في 2022-06-30.
تمكنت من الحصول على هذه الصورة ويمكنك أن ترى أنه في شريط البحث كنا نبحث عن مشاركات بين 2022-07-01 و 2022-07-02، تم إنشاء ثلاثة منها بالفعل في هذا النطاق الزمني ولكن الأخير له تاريخ 2022-06-30. هذا المنشور الأخير (الذي يعود تاريخه إلى 2022-06-30) هو الذي لا يتم استرداده عبر واجهة برمجة التطبيقات (API).
حسنًا. أنا مرتبك بما فيه الكفاية من مناطق التوقيت الخاصة بي.
كان هناك بعض العمل على هذه الواجهة مؤخرًا، أعتقد. لا أستطيع أن أتخيل، رغم ذلك، كيف يمكن للواجهة الأمامية وواجهة برمجة التطبيقات أن تعطي نتائج مختلفة بما أنهما تستخدمان نفس واجهة برمجة التطبيقات. ربما ستكون صورتك كافية لشخص يفهم هذا الرمز لمعرفة شيء ما.