通过 API 创建和激活用户

您好,我们使用的是 2.5.0.beta3 版本,在通过 API 创建用户时遇到了一些问题。

我们希望通过 API 创建用户后,能够立即发布主题,而无需用户点击邮件中的确认链接。

我们在创建用户时尝试以多种方式调整 Active 标志,但似乎仍无法免除确认邮件的要求。

{"errors":["您无权查看请求的资源。"],"error_type":"invalid_access"}

1 个赞

看起来 2.5.0.beta3 版本已于 2020 年 4 月 22 日 发布,而我为 此问题 所做的修复已于 2020 年 4 月 14 日 发布。因此,您应该能够通过 API 使用单个请求创建活跃用户。

请验证您的请求和响应是否与以下 curl 命令类似:

curl -i -sS -X POST "http://localhost:3000/users"  \
-H "Content-Type: multipart/form-data;"  \
-H "Api-Key: 079fb2bb12d3b436bb11bde8eb58aaa9a36560fa7d79b14b3087aa40b1ebc2c4"  \
-H "Api-Username: blake.erickson"  \
-F "name=8fe87241ca91a69f5ccd"  \
-F "username=8fe87241ca91a69f5ccd"  \
-F "email=8fe87241ca91a69f5ccd@example.com"  \
-F "password=c9193506a8f5e402a88cf2f8cee3f258"  \
-F "active=true"  \
-F "approved=true"

HTTP/1.1 200 OK

{
  "success": true,
  "active": true,
  "message": "您的账户已激活,可以开始使用。",
  "user_id": 10
}
2 个赞

已尝试执行 curl 命令,响应显示用户未激活。消息提示用户将通过电子邮件激活。

C:\Windows\system32>curl -i -sS -X POST https://our-discourse-host/users -H "Content-Type: multipart/form-data;" -H "Api-Key: The-API-key" -H "Api-Username: The-username" -F "name=8fe87241ca91a69f5ccd" -F "username=8fe87241ca91a69f5ccd" -F "email=8fe87241ca91a69f5ccd@testemail.test" -F "password=c9193506a8f5e402a88cf2f8cee3f258" -F "active=true" -F "approved=true"
HTTP/1.1 200 OK
{
"success":true,
"active":false,
"message":"<p>您快完成了!我们已向 <b>8fe87241ca91a69f5ccd@testemail.test</b> 发送了激活邮件。请按照邮件中的说明激活您的账户。</p><p>如果未收到邮件,请检查垃圾邮件文件夹。</p>",
"user_id":13
}

@blake 能麻烦你检查一下第 3 号帖子,看看我是否遗漏了什么吗?