4

我尝试使用 PUT/t/:id来更新主题内容,但没有任何效果。

https://github.com/discourse/discourse_api/blob/master/lib/discourse_api/api/topics.rb

似乎没有办法使用 API 更新内容。我错过了什么吗?

4

1 回答 1

4

您需要提供这样的主题 slug:PUT /t/:slug/:id如此处所述:http: //docs.discourse.org/#tag/Topics%2Fpaths%2F~1t~1%7Bslug%7D~1%7Bid%7D.json%2Fput

端点仅在/t/:id您发出GET此处记录的请求时才有效:http: //docs.discourse.org/#tag/Topics%2Fpaths%2F~1t~1%7Bid%7D.json%2Fget我猜这不是您想。

解决方案

在话语领域,一个主题只是一堆帖子。一个话题没有正文,话题的第一个帖子就是正文。

所以,你要做的是:

  1. GET /t/:id使用您的主题 ID
  2. 解析post_stream并获取第一篇文章,或者任何你需要的。获取身份证
  3. PUT /posts/:id并使用您刚刚获得的ID,并post[raw]在正文中提供。

请看这个讨论:https ://meta.discourse.org/t/updating-topic-body-via-the-api/61220/5

于 2017-04-19T02:31:53.480 回答