你好。我们使用的是托管的 Discourse 并启用了 OAuth。我们突然意识到,在处理删除请求时,我们忽略了从 Discourse 实例中删除相应数据。
我希望能够匿名化一个账户,或者通过 API 程序化地删除一个账户——但我没找到简单的方法,因为我不知道 Discourse 账户的 ID。
我是否忽略了什么明显的地方?有什么建议吗?
谢谢,
Andrew
你好。我们使用的是托管的 Discourse 并启用了 OAuth。我们突然意识到,在处理删除请求时,我们忽略了从 Discourse 实例中删除相应数据。
我希望能够匿名化一个账户,或者通过 API 程序化地删除一个账户——但我没找到简单的方法,因为我不知道 Discourse 账户的 ID。
我是否忽略了什么明显的地方?有什么建议吗?
谢谢,
Andrew
您是否知道您的 OAuth 身份提供商与 Discourse 之间的电子邮件地址是否匹配?如果匹配,您可以通过向 /admin/users/list/all.json?email=<用户邮箱地址> 发起经过身份验证的 API 请求,根据电子邮件地址获取 Discourse 用户。例如:
curl -X GET "http://localhost:3000/admin/users/list/all.json?email=bob@example.com" \
-H "Api-Key: $api_key" \
-H "Api-Username: system"
它们应该匹配,谢谢——这正是我遗漏的调用。正在验证。
我也对使用 API 调用来匿名化用户感兴趣。您用于匿名化用户的 API 端点是什么?
用于匿名化的 API 端点:
HTTP 方法: PUT
端点: https://example-community.dev/admin/users/{id}/anonymize
如果您已知要匿名化用户的电子邮件,可以使用上述调用获取 {id} 值。
/anonymize 端点是否已从 API 文档中移除?
我在此处查找:
分别在 users 和 admin 部分。
它可能尚未添加到 API 文档中,我会确保尽快将其记录在案。
@sarahann 已添加 /anonymize 路由到 API 文档中。
呼!刚才吓了我一跳 ![]()
谢谢你这么快就处理好了!