这很可能是一个边界情况:在测试 API 端点(/invites.json)时一切正常。随后我删除了被邀请的用户,现在该端点返回 422 响应。通过数据浏览器可以看到该用户已不存在,但邀请记录仍列在 invites 表中。
是否可以用一个已被删除的邮箱地址再次邀请用户?
这很可能是一个边界情况:在测试 API 端点(/invites.json)时一切正常。随后我删除了被邀请的用户,现在该端点返回 422 响应。通过数据浏览器可以看到该用户已不存在,但邀请记录仍列在 invites 表中。
是否可以用一个已被删除的邮箱地址再次邀请用户?
你好,欢迎!为了澄清一下:在您删除该用户之前,被邀请的用户是否已经接受了邀请并创建了账户?
谢谢!是的,我接受了邀请,然后删除了账户。
好的,我无法复现您描述的情况,除非我误解了您想要实现的目标(这种情况完全可能发生)。如果您能解释一下您预期看到的内容与实际看到的内容之间的差异,可能会有所帮助。
但我使用的是:
版本:2.7.0beta7
操作系统:Ubuntu 20.04.1 LTS
我执行了以下操作:
https://example.dev/u/my-dev-user/invited.json 发送 GET 请求
/invites.json,但我使用该路径始终收到 404 错误,我不确定该端点是否存在。{
"invites": [],
"can_see_invite_details": true,
"counts": {
"pending": 0,
"expired": 0,
"redeemed": 0,
"total": 0
}
}
应该可以——我刚刚重新邀请了上面已删除的同一封电子邮件地址,没有任何问题。
啊,抱歉,我应该先说明一下端点。Discourse API Docs
我执行的步骤如下:
对了,补充一下:正如您所描述的,邀请在管理界面中是有效的,但我正在使用的 POST 端点却无法生效。
哦,明白了,现在清楚了——是的,我现在能够复现这个问题了。
我可以通过 POST 请求向全新的邮箱地址发送常规邀请:
我收到了预期的响应:
请求: https://example.dev/invites.json?email=example%2Bsomething@hey.com
实际响应
{
"id": 7,
"invite_key": "inviteKEY",
"link": "https://example.dev/invites/inviteKEY",
"email": "example+something@hey.com",
"emailed": true,
"custom_message": null,
"created_at": "2021-04-26T23:57:08.602Z",
"updated_at": "2021-04-26T23:57:08.602Z",
"expires_at": "2021-05-26T23:57:08.594Z",
"expired": false,
"topics": [],
"groups": []
}
请求: https://example.dev/invites.json?email=example%2Bsomething@hey.com
预期响应
{
"id": 8,
"invite_key": "newinviteKEY",
"link": "https://example.dev/invites/newinviteKEY",
"email": "example+something@hey.com",
"emailed": true,
"custom_message": null,
"created_at": "2021-04-26T23:59:08.602Z",
"updated_at": "2021-04-26T23:59:08.602Z",
"expires_at": "2021-05-26T23:59:08.594Z",
"expired": false,
"topics": [],
"groups": []
}
实际响应
{
"failed": "FAILED"
}
太好了,原来不是我一个人遇到这个问题
我是新手,这种情况现在算作 bug 上报吗?还是应该发到其他地方,比如 GitHub?
如果我的理解正确,这应该就是一份报告!我们两人合作,我认为基本上已经符合撰写优质错误报告的规范了。
接下来,希望有能够提供解释、变通方法或修复方案的人告知我们下一步该怎么做。
@hcw-rohan @weallwegot 此错误已在 #12927 中修复。
您好,
我认为该错误修复可能已被还原,或者不再有效,因为今天我遇到了这个错误。我按照以下步骤来定位问题:
希望这些信息有所帮助。
你好 Greg,
我尝试复现这个 bug,但在我这里,重新邀请已被删除的用户是成功的。我同时测试了通过邮件和链接发送邀请。
你确定在访问邀请页面时没有处于登录状态吗?显示该消息的代码路径只有一条,我看不出有什么明显问题。