ما هو المنشور؟ (سؤال حول Discourse API)

أحاول قياس ونشاط المنتدى الذي أديره باستخدام Discourse بدقة وإعداد تقارير عنه. أعتقد أنني لا أفهم بشكل جوهري ما هي المنشور (Post).

في واجهة برمجة التطبيقات (API)، توجد مواضيع (Topics) ومنشورات (Posts). على سبيل المثال، إذا أردت الحصول على المنشورات، يمكنني استخدام filter=5

/user_actions.json?offset=0&username=USERNAME&filter=5

(هل يمكن لأي شخص إخباري ما هو “offset”؟)

إليك اللغز: يبدو أن المنشورات لا تتضمن المواضيع. هل هذا السلوك متوقع؟

ما هي المنشورات بالنسبة إلى الردود (Replies)؟ لا تبدو وكأنها مجموعة شاملة.

هل المنشورات في واجهة برمجة التطبيقات هي نفسها التي نحصل عليها في التقرير (Admin → Reports → Posts)؟

أي مساعدة مقدرة.

بحسب ما أستطيع استنتاجه، فإن المعلمة filter=5 للرسائل في /user_actions.json?offset=0&username=USERNAME&filter=5 لا تتوافق مع الرسائل الواردة في التقرير. يبدو أن الرسائل في التقرير تشمل كلاً من الرسائل (filter=5) و المواضيع (filter=4).

أفترض أن الرسائل المفترض أن تكون مجموع الردود + المواضيع. سيكون من الجيد لو تأكد شخص أكثر خبرة من ذلك.

إذا كان هذا هو الحال، فيمكنني محاولة استخدام الردود (filter 6) والمواضيع (filter 4). ومع ذلك، فإنني قلق قليلاً بشأن ذلك لأن التقرير في مدير Discourse يعطي الأرقام الصحيحة والمتوقعة.

حاول البحث عن مثال لاستخدام واجهة برمجة تطبيقات Discourse لإنتاج التقارير.

نعم، المنشورات تقع ضمن موضوع. لذا فإن البحث عن منشورات جديدة لن يبحث عن مواضيع جديدة.

عند إنشاء موضوع، تكون قد أنشأت أيضًا منشورًا — أول منشور هو جزء من الموضوع.
ومع ذلك، تُعتبر جميع الردود اللاحقة منشورات أيضًا — فأنت تنشر ردودك. :slightly_smiling_face:

أما بالنسبة لـ offset وما إذا كانت المنشورات في الواجهة البرمجية (API) هي نفسها الموجودة في الإدارة → التقارير → المنشورات، فسأترك ذلك لشخص آخر.

هل هذا مفيد؟

أولاً، شكرًا لك على مساعدتك.

باستخدام الرابط /user_actions.json?offset=0&username=USERNAME&filter=5، يبدو أنني لا أحصل على احتساب المنشور إذا كان أول منشور في موضوع.

ربما أستخدم واجهة البرمجة (API) بشكل خاطئ.

لدي حساب تجريبي به 7 أنشطة.

  • 3 مواضيع، لكل منها منشور واحد
  • 4 ردود على مواضيع موجودة.

عند تصفية النتائج لـ “المنشورات”، أحصل على عدد 4، وليس العدد المتوقع 7.

للحصول على العدد المتوقع للمنشورات وهو 7، أعتقد أنني بحاجة إلى إضافة “الردود” و"المواضيع".

بناءً على فهمي، أعتقد أن قيمة filter تساوي 5 يجب أن تعيد كل من المنشورات التي هي أول منشور في موضوع والردود، أليس كذلك؟

أود جدًا الحصول على مساعدة لفهم كيفية استخراج عدد المنشورات لمستخدمين محددين باستخدام واجهة البرمجة.

 query = {'username': username, 'filter': '5'};

  var response = await getRequest(
      path: '/user_actions.json',
      queryParameters: query);

هذا صحيح. جميع المواضيع تحتوي على منشور أول كجزء من إنشاء الموضوع. لا يمكن إنشاء موضوع يحتوي فقط على عنوان للموضوع. هذا المنشور الأول لا يُحتسب كمنشور (رد) في استعلام المنشورات (فلتر-5).

عند استعلامك عن المنشورات، فهذا استعلام لـ ردود جديدة على مواضيع موجودة - باستثناء المنشور الأصلي (OP). هذا هو السلوك المتوقع - لعرض المنشورات الجديدة فقط.

لإدراج المواضيع (التي أنشأها ذلك المستخدم) كجزء من الاستعلام، يجب أن يعيد الفلتر 4 المواضيع التي أنشأها المستخدم (بما في ذلك المنشورات الأصلية كجزء من العد [3])، وردوده [4]. هذا سيعيد العدد 7 الذي تراه في التقرير. 3 مواضيع منشأة + 4 ردود لإعطاء مجموع 7 (3 منشورات أصلية + 4 ردود).

أي شخص آخر لديه معرفة أكثر، يُرجى التكرم بالتدخل.

@JimPas، شكرًا لك على مساعدتك. إنها مفيدة جدًا. ومع هذه المعرفة، سأواصل العمل على لوحة تحكم التطبيق بثقة أكبر. أتمنى لك يومًا سعيدًا. من اللطيف جدًا منك مساعدة غريب مثلي.

نفس الشعور، @JimPas، مفيد جدًا ومقدر جدًا. شكرًا لك.