jucajuca
(Juan Carlos)
1
مرحباً، أحاول استخدام نقطة النهاية 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)
Lilly
(Lillian Louis)
2
يمكنك تعيين مواضيع وصف الفئة على “غير مدرج”. أفعل ذلك لجميع مواضيعي. أشك في أنه يمكنك تحديد المواضيع غير المدرجة عبر واجهة برمجة التطبيقات؟
3 إعجابات
Canapin
(Coin-coin le Canapin)
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"
مزيد من المعلومات التقنية إذا كان ذلك يثير اهتمامك.
الحماية من الحذف
موجودة هنا: discourse/lib/guardian/topic_guardian.rb at 7ecaf6295daf8759aa98d00e7035c4dc0f853303 · discourse/discourse · GitHub
والطريقة المستخدمة معرفة هنا: discourse/app/models/topic.rb at 7ecaf6295daf8759aa98d00e7035c4dc0f853303 · discourse/discourse · GitHub
إعجابَين (2)