En utilisant Python 3.8 via l’API Discourse, j’ai pu récupérer les tags d’un sujet grâce au code suivant :
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'))
Mes en-têtes sont (l’utilisateur de l’API dispose des droits d’administration) :
headers = {
'Content-Type': 'application/json',
'Api-Key': api_key,
'Api-Username': api_username
}
Cependant, je ne parviens pas à mettre à jour les tags avec les mêmes en-têtes :
update_url = forum_url + f'/t/-/{topic_id}.json'
payload = {'tags':['bmw', 'nd', 'ak', 'ca']}
r = requests.put(
update_url,
params=payload,
headers=headers
)
Réponse :
<Response [500]>
{'status': 500, 'error': 'Internal Server Error'}
J’ai pu utiliser la même méthode requests, les mêmes en-têtes, les mêmes identifiants API et la même URL pour mettre à jour le titre d’un sujet. Je ne comprends pas pourquoi mon accès est refusé lors de la mise à jour des tags d’un sujet. Toute indication serait la bienvenue ! Merci !