كيفية الاستعلام عن واجهة برمجة تطبيقات topics_with_no_response.json مع عوامل التصفية

أعلم أنه لكل تقرير مسؤول، هناك واجهة برمجة تطبيقات .json لجلب البيانات. التقرير الذي أهتم به هو topics_with_no_response وتمكنت من التصفية حسب الفئة عبر https://xxx.com/admin/reports/topics_with_no_response?end_date=2023-06-16&filters=%7B%22category%22%3A7%2C%22include_subcategories%22%3Atrue%7D&mode=table&start_date=2023-06-14. ومع ذلك، إذا قمت بالتبديل إلى نقطة نهاية JSON عبر https://xxx.com/admin/reports/topics_with_no_response.json?end_date=2023-06-16&filters=%7B%22category%22%3A7%2C%22include_subcategories%22%3Atrue%7D&mode=table&start_date=2023-06-14، فإنها لا تُرجع البيانات.

هل لدينا صيغة مختلفة للاستعلام عن هاتين النقطتين النهائيتين؟

تحتاج إلى استخدام POST بدلاً من GET لسبب غريب.

مرحباً @RGJ،

هل يمكنك أن تعطيني مثالاً لطلب POST؟ ماذا يجب أن يكون الجسم؟ لقد حاولت فقط تغيير GET إلى POST بنفس عنوان URL ولكنه لا يبدو أنه يعمل.

ستحتاج على الأرجح إلى تمرير معلمات الاستعلام (أي كل شيء بعد ?) كبيانات POST.

راجع أيضًا Run Data Explorer queries with the Discourse API

عندما تحولت إلى POST ومررت جميع معلمات الاستعلام كبيانات POST، حصلت على “الصفحة غير موجودة”. ومع ذلك، تمكنت من استخدام POST لتشغيل استعلامات مستكشف البيانات. هل لديك أي أفكار؟ شكرًا!

تفضل بإلقاء نظرة على الهندسة العكسية لواجهة برمجة تطبيقات Discourse. عندما أحاول اتباع هذا النهج لتقرير “المواضيع التي لا يوجد لها رد”، أرى أنه يقوم بطلبات GET مشابهة لـ:

http://forum.example.com/admin/reports/bulk?reports%5Btopics_with_no_response%5D%5Bfacets%5D%5B%5D=prev_period&reports%5Btopics_with_no_response%5D%5Bstart_date%5D=2022-02-01&reports%5Btopics_with_no_response%5D%5Bend_date%5D=2023-06-17&reports%5Btopics_with_no_response%5D%5Blimit%5D=50

يمكنك الحصول على معلمات الاستعلام المشفرة من علامة التبويب “Network” في متصفحك. باستخدام هذا الرابط، يجب أن تكون قادرًا على القيام بشيء مثل:

curl -X GET "http://localhost:4200/admin/reports/bulk.json?reports%5Btopics_with_no_response%5D%5Bfacets%5D%5B%5D=prev_period&reports%5Btopics_with_no_response%5D%5Bstart_date%5D=2022-05-16&reports%5Btopics_with_no_response%5D%5Bend_date%5D=2022-09-10&reports%5Btopics_with_no_response%5D%5Blimit%5D=50" \
-H "Api-Key: $api_key" \
-H "Api-Username: system"

ستحتاج إلى تعيين api_key إلى مفتاح واجهة برمجة تطبيقات عالمي لجميع المستخدمين - لا أعتقد أن هناك نطاقًا محددًا يمكن استخدامه للتقارير.

لاحظ أنك بحاجة إلى إضافة الامتداد json إلى الرابط (http://localhost:4200/admin/reports/bulk.json)

إعجاب واحد (1)

شكرا لك @simon، هذا يعمل!!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.