有人能告诉我用哪个 API 来取消喜欢主题或帖子吗?我能够使用以下 API 来喜欢帖子:https://{defaultHost}/post_actions.json。只是为了测试我正在编辑
我也想知道我们可以在哪里取消点赞帖子,以及 actions_summery id 是什么意思?
这里有一个可以帮助您应对这种情况的指南:
Discourse 由一个完整的 JSON api 支持。您在网站上可以做的任何事情也可以使用 JSON api 来完成。
API 的文档位于 docs.discourse.org 。您也可以使用 discourse_api Ruby gem 作为客户端库。但是,并非所有端点都有文档记录。
要确定如何使用 JSON API 完成某项操作,您可以遵循以下步骤。
示例:重新分类一个主题。
转到一个主题并开始编辑一个分类:
[image]
打开 Chrome 开发者工具,切换到 Network(网络)选项卡,选择 Fetch/XHR 过滤器:
[image]
执行操作
[image]
请求数据将显示在 “Payload”(负载)选项卡下
[image]
查看预览以确定结果
[image]
您现在拥有所需的所有信息。
端点是 https://try.discourse.org/t/online-learning/108.json
负载是使用 PUT 传递的
发送的参数是:category_id: 5
掌握了这些信息后,您就可以使…
如果您查看浏览器的网络选项卡,可以看到取消点赞时发出的请求:
DELETE /post_actions/<post_id>
action_summary ID 代表帖子的操作:
1:书签
2. 点赞
3. 标记为不相关
4. 标记为不当
5. 投票
6. 标记通知用户
7. 标记通知版主
8. 标记为垃圾信息
通过逆向工程,我发现用于点赞/取消点赞的 API URL 是 https://dev-forum.curiodigitaltx.com/discourse-reactions/posts/28/custom-reactions/heart/toggle.json,请求方式为 PUT。但我收到了以下 API 失败错误:
是否需要在请求体中也传递一些内容?
有人能帮帮我吗?
我确定我的请求头是正确的,因为其他的 GET、POST API 都工作正常。
我的请求头是:
const getHeaders = () => {
return {
"Api-Username": userName,
"Api-Key": config.API_KEY,
"Content-Type": "multipart/form-data",
};
};
好的
使用 Reaction 插件,您对请求的理解是正确的。
我认为您在这里不需要 Content-Type;您不需要提供任何表单数据。
您知道如何为 React Native 移动应用程序安装 Reaction 插件吗?
您需要用 React 重写插件的前端(如果完全是原生插件,而不是使用 Web 视图)