لا يمكن حذف الموضوع الافتراضي لفئة

مرحباً، أحاول استخدام نقطة النهاية API لحذف المواضيع.

يمكنني حذف المواضيع “العادية” ولكن واجهت مشكلة في أنه لا يمكن حذف الموضوع الافتراضي. الموضوع المسمى “حول فئة ________”

{{baseUrl}}/t/{{id}}.json

إليك أسئلتي:

  • كيف يمكنني حذف هذا الموضوع باستخدام API؟
  • كيف يمكنني تحديد هذا الموضوع باستخدام API لتجاوزه؟

مثال

    url = base_url + "/c/" + slug + "/22.json"
    response = requests.request("GET", url, headers=headers, data=payload)

    for topic in response.json()["topic_list"]["topics"]:
        # يحذف كل موضوع

        url =  base_url + "/t/topic_id.json".replace("topic_id", str(topic["id"])  )
        response = requests.request("DELETE", url, headers=headers, data=payload)

يمكنك تعيين مواضيع وصف الفئة على “غير مدرج”. أفعل ذلك لجميع مواضيعي. أشك في أنه يمكنك تحديد المواضيع غير المدرجة عبر واجهة برمجة التطبيقات؟

3 إعجابات

هل يمكنك مشاركة سبب رغبتك في إزالة هذه المواضيع؟ هذه مواضيع خاصة لا يمكن ولا يُقصد حذفها.

إذا كان هدفك هو حذف جميع المواضيع ثم حذف الفئة، يمكنك حذف الفئة دون حذف موضوع “حول”.

عندما يرغب الأشخاص في التخلص من مواضيع “حول” بطريقة ما، فإن إلغاء إدراجها كما يقترح @Lilly هو الحل.

أعتقد أن هذه المشاركات لا تحتوي على أي سمات فريدة. يتم تحديدها كمواضيع خاصة من جدول category، عبر عمود topic_id.

يمكنك الحصول عليها باستخدام نقطة النهاية /c/{id}/show.json: https://docs.discourse.org/#tag/Categories/operation/getCategory.
ابحث عن المفتاح topic_url.

على سبيل المثال:

https://meta.discourse.org/c/7/show.json

"topic_url": "/t/about-the-dev-category/1026"

مزيد من المعلومات التقنية إذا كان ذلك يثير اهتمامك.

الحماية من الحذف :shield: موجودة هنا: discourse/lib/guardian/topic_guardian.rb at 7ecaf6295daf8759aa98d00e7035c4dc0f853303 · discourse/discourse · GitHub

والطريقة المستخدمة معرفة هنا: discourse/app/models/topic.rb at 7ecaf6295daf8759aa98d00e7035c4dc0f853303 · discourse/discourse · GitHub

إعجابَين (2)