大家好,
我需要使用 API 大量创建群组,但 JSON 不接受数组的多个值,只有在每次 API 调用创建一个群组时才有效。
理想情况下,我希望只发送一个创建请求,并将名称作为 JSON 数组,但这会触发状态:
500(内部服务器错误)
我期望以下方法会起作用,但它不起作用——请帮忙!我们有 200 多个群组,我正在按照文档的要求对 https://{defaultHost}/admin/groups.json 使用 POST 方法。
{
"group": [
{
"name": "X"
},
{
"name": "Y"
},
{
"name": "Z"
}
]
}
pfaffman
(Jay Pfaffman)
2022 年10 月 5 日 19:13
2
在我看来,它叫做 createGroup 而不是 createGroups。它说它“创建一个组”,而不是“创建任意数量的组”。
您需要自己循环遍历这些值,并为要添加的每个组调用它。您可能需要插入一些延迟,或者在遇到速率限制时构建重试代码。
1 个赞
@pfaffman 编写了一个小脚本,效果正如预期的那样,但现在我遇到了另一个问题。API 只允许“name”,而不允许“full name”,因此我无法使用 create 方法填充 full name。唯一允许的字段“name”也不允许空格,所以我最终得到了大量 full name 为空的组,而“name”不得不使用“_”。
理想情况下,我希望在通过 API 创建组时,除了 name 之外,还能提供 full name?
谢谢
Boyan
pfaffman
(Jay Pfaffman)
2022 年10 月 13 日 15:28
5
这没有意义,因为 API 是前端用来创建组的。既然可以在用户体验中创建全名,那么也可以在 API 中创建。
Boyan Biandov:
唯一允许的字段“name”也不允许空格
组名就是这样工作的。
请指出我在哪里指定全名?我不同意前端使用 API,因为我显然可以使用前端编辑全名,但在这里我没有看到全名?
pfaffman
(Jay Pfaffman)
2022 年10 月 13 日 17:58
7
抱歉。我以为我已将您指向逆向工程 Discourse API 。我建议使用逆向工程方法或直接查看源代码。我不认为任何积极开发 Discourse 的人实际上会使用那些文档,所以我不敢相信它们是完整或最新的。