gormus
(Osman Görmüş)
1
用户账户也可以通过 Discourse API 删除。
例如;
DELETE /admin/users/{id}.json HTTP/1.1
Content-Type: application/json
Api-Username: system
Api-Key: 1234*******
{
"delete_posts": true,
"block_email": false,
"block_urls": false,
"block_ip": false
}
如您所见,与在管理页面手动删除账户时先删除帖子再删除账户不同,载荷选项允许在同一请求中删除用户生成的帖子。
但是,我收到了一个 403 访问被拒绝错误,尽管 API 密钥具有全局范围,并且用户是 system:
{
"errors": ["您无权查看所请求的资源。"],
"error_type": "invalid_access"
}
Canapin
(Coin-coin le Canapin)
2
如果您更改指南中提到的设置的值,它是否有效?默认值可能会阻止用户删除。不完全确定。
selase
(Selase Krakani)
3
我不确定您要删除的用户的具体信息,但您看到的错误很可能源于以下一项或多项检查未能满足。\n\n[quote="Discourse, post:1, topic:312021"]\n### 重要设置:\n\n* delete_user_max_posts:确定用户账户有资格删除的最大帖子数。例如,如果设置为 5,则帖子数超过 5 的用户无法被删除。\n* delete_user_max_post_age:用户首次发帖以来的天数,在此期间用户可以被删除。例如,将其设置为 30 意味着帖子超过 30 天的用户无法被删除。\n* delete_all_posts_max:使用“删除所有帖子”按钮一次可以删除的最大帖子数。例如,将其设置为 100 会将批量删除限制为一次 100 篇帖子。\n[/quote]\n\ndiscourse/lib/guardian/user_guardian.rb at f0d6e9758dda7efd214d054f6755d31a14db3338 · discourse/discourse · GitHub else 块中的某些内容。是的,我同意,错误消息确实可以不那么含糊
。
4 个赞
gormus
(Osman Görmüş)
4
说得对 @selase!看来我的用户拥有的帖子数量超过了 User::MAX_STAFF_DELETE_POST_COUNT,而且有些帖子的时间比 SiteSetting.delete_user_max_post_age 还早 
-
delete_user_max_posts:自文章发布以来,它一定被重命名为 delete_user_self_max_post_count。它被设置为 1(默认值)
用户在允许自助删除账户的情况下可以拥有的最大帖子数。设置为 -1 可禁用自助删除账户。
-
delete_user_max_post_age 被设置为 60(默认值),并且该用户有超过 60 天的帖子。
不允许删除其第一篇帖子早于 (x) 天的用户的帖子。
-
delete_all_posts_max 被设置为 15(默认值),而我的用户有 12 篇帖子
使用“删除所有帖子”按钮一次可以删除的最大帖子数。如果用户拥有的帖子数量超过此数量,则无法一次性删除所有帖子,也无法删除该用户。
一旦我消除了这些限制,我就能够通过 API 调用删除我的用户。
{"deleted":true}

也许 API 文档 也可以提及这个要求?
1 个赞
system
(system)
关闭
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.