API 创建用户不再返回 user_id

我有一个每天运行的脚本,用于通过 API 创建新用户。直到几天前,当帖子完成后,响应都包含新创建用户的 user_id。现在 API 不再这样做了?但 API 文档表明它应该这样做。

4 个赞

用户正在被创建吗?

我猜是因为某种原因用户没有被创建,所以它没有返回 user_id。

用户正在被创建。我已经确认。API 返回了此状态,但缺少 user_id

{
    "success": true,
    "active": true,
    "message": "您的帐户已激活,可供使用。"
}
2 个赞

是的。那看起来像个 bug。我在 Commits · discourse/discourse · GitHub 上查找了相关解释,但没有找到。

为确认此问题,我在 3.4.0.beta3-dev 上通过 API 创建了一个用户,并在响应中收到了 user_id

{
	"success": true,
	"active": true,
	"message": "Your account is activated and ready to use.",
	"user_id": 3
}

在升级到 3.4.0.beta4-dev 后,我再次执行此操作,但 user_id 却丢失了:

{
	"success": true,
	"active": true,
	"message": "Your account is activated and ready to use."
}
2 个赞

您已经缩小了错误提交的范围。

1 个赞

只是猜测

可能与此处解释的 DEV: Change hide_email_address_taken default to true (#30293) · discourse/discourse@c1c7ea8 · GitHub 有关:

我猜当请求是使用管理员 API 密钥发出时,希望覆盖此行为?

6 个赞

谢谢!更改该设置后,API 结果已恢复,在我创建用户后,我会在结果中获得 user_id。

3 个赞

你好,

我也是……

这是开发人员目前正在处理的事情吗?因为记住这些设置与文档相矛盾可能会很棘手 :stuck_out_tongue: