创建并配置API密钥

API 密钥是从“管理”/“API”页面生成的。转到“管理”-“高级”-“API 密钥”:

点击“新建 API 密钥”按钮后,您将进入一个配置密钥的页面:

每个 API 密钥都需要一个描述、一个用户级别和一个范围。

描述

描述可以是您选择的任何内容。

用户级别

“用户级别”下拉菜单允许您选择“所有用户”或“单个用户”。如果选择了“所有用户”,则该密钥可代表任何用户使用。这可以通过在请求标头中将您请求代表的用户设置为 Api-Username 来完成。(有关如何设置请求标头的详细信息,请参阅API 文档中的身份验证示例。)

如果选择了“单个用户”,则表单上会出现一个用户字段。在该字段中输入您为其生成 API 密钥的用户的用户名:

范围

“范围”下拉菜单允许您选择“精细”、“只读”或“全局”作为范围。

如果选择“只读”作为范围,API 密钥将只能用于发出 GET 请求。该密钥将能够发出为该密钥生成的用户,或在请求的 Api-Username 中输入的用户名有权执行的任何 GET 请求。

如果选择“全局”作为范围,该密钥可用于为该密钥生成的用户,或在请求的 Api-Username 中输入的用户名有权执行的_任何请求_。

如果选择“精细”作为范围,将打开一个允许您从可用范围中选择的表单。将鼠标悬停在范围的问号图标上可查看范围的描述。点击范围的链接图标可查看该范围支持的路径和请求方法列表。请注意,许多范围允许您输入一个附加参数来限制该范围允许访问站点的哪些路径:

配置 API 密钥并点击“保存”按钮后,将只向您显示一次完整的 API 密钥。请务必复制该密钥,因为没有办法再次查看完整的密钥。

:information_source: Discourse 中的 API 范围只能限制 API 密钥相对于用户现有权限可以执行的操作。它们不能授予超出关联用户已拥有权限的任何额外权限。

附加阅读

有关 Discourse 对 API 密钥应用的速率限制的详细信息:Discourse 中的全局速率限制和节流

Discourse API 文档:https://docs.discourse.org/。

有关如何构建 API 请求的有用指南:如何逆向工程 Discourse API

5 个赞

此主题可以更新了。如果其他人在此之前完成,我很快就会进行更新。

在 Ubuntu 上的最新 Chrome 浏览器中,在本地开发站点和托管的 Discourse 站点上测试此功能,当我将鼠标悬停在 :question: 图标上时,不再显示工具提示。

今天早些时候,这件事情被发现了。我相信他们正在修复它 :crossed_fingers:

2 个赞

前两张关于如何生成 API 密钥的图片无法加载!

随着管理员设置布局的更改,我找不到在哪里生成此密钥。

这已经在 Missing images at Meta.discourse.org - #6 by Lilly 提到过了

我认为你可以在这里看到它们 https://web.archive.org/web/20221205183753/https://meta.discourse.org/t/create-and-configure-an-api-key/230124

2 个赞

新仪表板的位置位于管理员设置下拉菜单 - 高级 - API 密钥中。

已修复。还添加了新管理员菜单位置的屏幕截图。

谢谢 @Moin

4 个赞