باستخدام Python 3.8 عبر واجهة برمجة تطبيقات Discourse، تمكّنت من استرجاع وسوم موضوع ما عبر الكود التالي:
topic_url = forum_url + f'/t/{topic_id}.json'
topic_obj = requests.get(topic_url, headers=headers).json()
topic_tags = list(topic_obj.get('tags'))
رؤوس الطلبات (headers) الخاصة بي هي (لدى اسم المستخدم الخاص بواجهة برمجة التطبيقات حقوق مسؤول):
headers = {
'Content-Type': 'application/json',
'Api-Key': api_key,
'Api-Username': api_username
}
ومع ذلك، لا يمكنني تحديث الوسوم باستخدام نفس الرؤوس:
update_url = forum_url + f'/t/-/{topic_id}.json'
payload = {'tags':['bmw', 'nd', 'ak', 'ca']}
r = requests.put(
update_url,
params=payload,
headers=headers
)
الاستجابة:
<Response [500]>
{'status': 500, 'error': 'Internal Server Error'}
تمكّنت من استخدام نفس طريقة الطلبات (requests)، ونفس الرؤوس، ونفس بيانات اعتماد واجهة برمجة التطبيقات، ونفس الرابط لتحديث عنوان موضوع. أنا في حيرة من أمري بشأن سبب رفض الوصول عند تحديث وسوم موضوع. أي تلميح سيكون مُقدَّراً! شكرًا!