احصل فقط على منشورات المستوى الأعلى في الموضوع عبر واجهة برمجة تطبيقات Discourse

أود أن أتمكن من الحصول على آخر 20 منشورًا من المستوى العلوي في موضوع معين دون الحاجة إلى إعادة جلب وتصفية ردود المنشورات بشكل متكرر حتى أصل إلى 20. هل يوجد فلتر لهذا الغرض وقد فاتني في مكان ما في واجهة برمجة التطبيقات؟

في الوقت الحالي، يبدو أن مصفوفة التدفق في الاستجابة تتضمن ردود المنشورات حسب رقم المنشور. لذا، إذا كان لدي 4 منشورات [1، 2، 3، 4] وأرسلت ردًا على المنشور 1، فسيصبح التدفق الآن [1، 2، 3، 4، 5] والطريقة الوحيدة لمعرفة أن المنشور 5 هو رد على المنشور 1 هي فحص المنشور نفسه، وإيجاد “reply_to_post_number” => 1 وتصفيته. هل فاتني شيء ما؟

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

That is correct. There is not a filter that can be added to the topic endpoint to get what you are after. However we do have the

which you could use to write a sql query to get what you are after. You can then save that query and hit the api endpoint for the saved query and pass it a topic_id as a param.

إعجابَين (2)

There isn’t a real way to get what you actually want out of this, because the metadata is messy, and people are messy and don’t really care about your analytics too much :wink:

إعجابَين (2)

Thanks, I will give this a shot.

لدينا الآن المعلمة الاستعلامية filter_top_level_replies=true التي ستتعامل مع هذا الأمر نيابة عنك.

إليك مثال عليها هنا في meta https://meta.discourse.org/t/linkify-words-in-post/82193.json?filter_top_level_replies=true