通过 Discourse API 添加标签失败

通过 Discourse API 使用 Python 3.8,我能够通过以下代码获取某个主题的标签:

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')) 

我的请求头如下(API 用户拥有管理员权限):

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 方法、请求头、API 凭据和 URL 来更新主题的标题。我不明白为什么在更新主题标签时会被拒绝访问。任何指点都将不胜感激!谢谢!

1 个赞

据我所知,你需要使用 tags[] 而不是 tags

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.