Mit Python 3.8 über die Discourse-API konnte ich die Tags eines Themas mit folgendem Code abrufen:
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'))
Meine Header lauten (der API-Benutzer verfügt über Administratorrechte):
headers = {
'Content-Type': 'application/json',
'Api-Key': api_key,
'Api-Username': api_username
}
Allerdings kann ich die Tags mit denselben Headern nicht aktualisieren:
update_url = forum_url + f'/t/-/{topic_id}.json'
payload = {'tags':['bmw', 'nd', 'ak', 'ca']}
r = requests.put(
update_url,
params=payload,
headers=headers
)
Antwort:
<Response [500]>
{'status': 500, 'error': 'Internal Server Error'}
Ich konnte dieselbe requests-Methode, dieselben Header, dieselben API-Anmeldeinformationen und dieselbe URL verwenden, um den Titel eines Themas zu aktualisieren. Ich bin ratlos, warum mein Zugriff beim Aktualisieren der Tags eines Themas verweigert wird. Jeder Hinweis wäre willkommen! Danke!