开放重定向往往会让人紧张,在这种情况下,如果你添加 nextcloud,就意味着人们可以使用 nextcloud 上的一个 URL 在 discourse 上生成一个密钥,然后重定向回 nextcloud。
在第 6 步中,您具体指的是哪个 API 调用?
或者如果其他人知道,请回答!
第六步中提到的 API 调用是您希望进行的任何调用。这只是指那些执行您实际想对 discourse 站点执行的操作的调用。
在我的例子中,我有一个独立的应用程序,它会与 discourse 站点进行交互——例如,根据用户在独立应用程序中采取的操作在 discourse 站点上创建帖子。该应用程序会登录用户,用户会做一些事情,然后应用程序会发出 POST 和 PUT API 调用,以从该用户创建/编辑 discourse 帖子。
我明白了。在我的例子中,我只想让用户登录我的网站,进行 Discourse 授权,然后重定向回来,这样我的网站就可以读取他们的用户名、电子邮件、头像、ID 等信息,并在我们的网站上创建新用户。@JQ331
那么你就来错地方了,你不能用 User API 密钥来做这件事。
你需要将 Discourse 配置为 DiscourseConnect 提供商,并将你的网站配置为 DiscourseConnect 客户端。请参阅 Use Discourse as an identity provider (SSO, DiscourseConnect)
我说的对吗,像那样的事情我需要访问站点的密钥?
没有所谓的“主”密钥,但您确实需要 Discourse 的管理员权限才能进行配置。
您好,我尝试实现此用户 API 密钥,但似乎它有 API 速率限制。在几次 API 调用后,我收到了 429 错误。是否有相关的配置?我使用的是付费托管。
此处有关速率限制的更多信息。
如果您使用 Communiteq 进行托管,请通过您的控制面板联系我们的支持部门进行设置。
您好 @RGJ ,感谢您的回复。我的公司拥有标准版和商务版套餐,但在控制面板中看不到支持服务。我是否应该发送邮件至 team@discourse.org?
如果您在我们 Discourse 上托管(而不是在 Communiteq 的 @RGJ 处托管),这确实是联系我们支持团队的正确方式。
![]()
你好!
我正在编写一个应用程序来使用这个 API。
有什么方法可以从这里获取用户信息(主要是用户名)吗?
还是我需要手动询问用户名,然后再请求它?
欢迎您,@gilice。
您不是指您正在使用 API 来获取 API 密钥,而是您想对用户做某事?
这可能会有帮助:逆向工程 Discourse API。
但如果您想获取用户的用户名,一种方法是在 admin/users 路由上搜索电子邮件地址。
如果您能说明您想做什么,那将会有所帮助。
嘿!感谢您的回复,我可能应该更好地措辞。
我想问的问题是:我可以获取属于某个用户的 API 密钥。然后,我能否在不询问其用户名并使用 getUser 方法 的情况下获取用户的个人资料(用户名、个人资料图片等)?
我不清楚这会如何运作。你想从哪里获取API密钥?正如你在流程中看到的,用户首先需要登录才能获取密钥,为此他们需要正常的登录信息。你能更详细地解释一下你想做什么吗?
大家好,
在我的应用程序中,我使用用户 API 密钥来实现一些 Discourse 功能。我不小心使用错误的 Discourse 帐户授权了登录(使用 /user-api-key/new API)。
我已经撤销了对错误 Discourse 帐户的应用程序访问权限。但是,当我尝试使用正确的 Discourse 帐户授权时,我收到一个错误。当我查看日志时,我发现了以下错误:
ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint “index_user_api_keys_on_client_id” DETAIL: Key (client_id)=
根据错误信息,我假设我们不能为同一个 client_id 关联 2 个用户帐户。
有什么方法可以解决这个问题吗?
另外,是否有任何 API 可以在 API 密钥被撤销时 更新用户 API 密钥的 client_id?
谢谢!
这具体是什么意思?
我正在编写一个代表用户通过用户 API 密钥请求数据的应用程序。目的是避免速率限制问题。该应用程序何时会遇到速率限制问题?
我认为您在寻找类似这样的东西:
是的!这正是我想要的。非常感谢!!!
我们可以获取用户 API 密钥的 openapi 规范吗?或者考虑将它们添加到现有的规范文档中。
GitHub - discourse/discourse_api_docs: Discourse API Documentation
对于下游开发者,我们更倾向于使用 openapi 来生成我们需要的接口和 API。