Discourse API
请访问 Discourse API 文档网站以获取详细信息:
https://docs.discourse.org
身份验证
API 请求必须使用基于 HTTP Header 的身份验证。 将您的 Api-Key 和 Api-Username 作为 HTTP Header 传递。不支持通过查询参数或请求体进行身份验证(此功能已于 2020 年 4 月移除)。请参阅下面的 cURL 请求示例。
唯一仍然支持在查询参数中使用凭据的 API 端点是针对 RSS 源、邮件接收器端点和 ICS 路由的请求。
Content-Type 可以设置为 “application/x-www-form-urlencoded”、“multipart/form-data” 或 “application/json”。
以下是一个通过 cURL 发出的 POST 请求示例:
curl -X POST "http://127.0.0.1:3000/categories" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: 714552c6148e1617aeab526d0606184b94a80ec048fc09894ff1a72b740c5f19" \
-H "Api-Username: discourse1" \
-F "name=89853c20-4409-e91a-a8ea-f6cdff96aaaa" \
-F "color=49d9e9" \
-F "text_color=f0fcfd"
以下是 API 文档网站 的外观示例:

使用 API
您可以使用 cURL 命令来使用 API,但我们建议使用 discourse_api gem,以便您可以使用 Ruby。
逆向工程 API 端点
并非所有端点都已记录在案,但您可以通过遵循本指南来查看任何端点的示例 API 请求和响应:
Discourse 中的全局速率限制和限流
Discourse 附带 3 种不同的全局速率限制,可由站点管理员配置。有关这些限制的更多详细信息,请参阅:
通过 API 创建通知
用户 API 密钥规范
最后由 @sam 在 2026-03-17T17:00:00Z 上审阅