皆さん、こんにちは。
APIを使用してグループを一括作成する必要がありますが、JSONは複数の値の配列を受け付けず、API呼び出しごとに1つのグループしか作成できません。
理想的には、1回の作成呼び出しで名前をJSON配列として指定したいのですが、それを行うとステータスコード500(内部サーバーエラー)が発生します。
以下でうまくいくと期待していましたが、うまくいきません。助けてください!200以上のグループについて話しています。ドキュメントで要求されているとおり、https://{defaultHost}/admin/groups.json に対してPOSTを使用しています。
{
"group": [
{
"name": "X"
},
{
"name": "Y"
},
{
"name": "Z"
}
]
}
pfaffman
(Jay Pfaffman)
2022 年 10 月 5 日午後 7:13
2
createGroup であり、createGroups ではないようです。「グループを作成します」と書かれており、「好きなだけ多くのグループを作成します」とは書かれていません。
自分で値をループ処理し、追加したいグループごとに呼び出す必要があります。おそらく、遅延を挿入するか、レート制限に達したときに再試行するコードを組み込むことをお勧めします。
「いいね!」 1
@pfaffman クール、ありがとう、理にかなっています!
〜B
「いいね!」 1
@pfaffman 期待どおりに動作し、簡単なスクリプトを作成しましたが、別の問題に直面しています。API は「name」のみを許可し、「full name」は許可しないため、create メソッドを使用して full name を入力する手段がありません。許可されている唯一のフィールドである「name」はスペースも許可しないため、full name が空白のグループが大量に作成され、「name」には「_」を使用する必要があります。
理想的には、API を使用してグループを作成する際に、name に加えて full name を提供できるようにしたいのですが?
ありがとうございます
ボヤン
pfaffman
(Jay Pfaffman)
2022 年 10 月 13 日午後 3:28
5
APIはフロントエンドがグループを作成するために使用するものなので、それは理にかなっていません。UXでフルネームを作成できるのであれば、APIでも作成できるはずです。
グループ名はそのように機能します。
フルネームはどこで指定しますか?フロントエンドでフルネームを編集できることは明らかですが、ここにはフルネームが見当たりません。APIはフロントエンドで使用されているとは、敬意をもって同意できません。
pfaffman
(Jay Pfaffman)
2022 年 10 月 13 日午後 5:58
7
申し訳ありません。Discourse APIのリバースエンジニアリング を案内したと思ったのですが。リバースエンジニアリングの方法を使用するか、ソースを直接確認することをお勧めします。Discourseを積極的に開発している誰もこれらのドキュメントを使用しているとは思えないので、それらが完全または最新であるとは信頼していません。