APIでグループオーナーを作成できません

こんにちは。

古いアプリケーションを Discourse に移行する必要があります。
ユーザーとグループを作成するために API を CURL で使用しています。

Discourse v3.1.0.beta5 +392 を使用しています。

ユーザーについては問題ありませんでした。

curl -X POST "site-discourse/users.json" \
 -H "Api-Key: api-key" \
 -H "Api-Username: api-username" \
 -F "name=name1" \
 -F "email=email1" \
 -F "password=password1" \
 -F "username=username1" \
 -F "active=true" \
 -F "approved=true"

グループについては、すべてを一度に作成しようとしました。グループ、bio_raw、メンバー、オーナーなど、Discourse API Docs に従っています。

curl -X POST "site-discourse/admin/groups.json"  \
 -H "Content-Type: application/json" \
 -H "Api-Key: api-key" \
 -H "Api-Username: api-username" \
 -d '{"name":"groupe1","bio_raw":"A propos du groupe1","usernames":"username1","owner_usernames": "owner_username1"}'

グループは名前と bio_raw で作成されますが、username1 と owner_username1 は作成されません。

しかし、次のようにメンバーを作成できます。

curl -X PUT -d '{"usernames": "username1,username2"}' \
 -H "Content-Type: application/json" \
 -H "Api-Key: api-key" \
 -H "Api-Username: api-username" site-discourse/admin/groups/$group_id/members.json

しかし、API で owner_usernames を作成できません!

ご協力ありがとうございます。

Franck Lucas

Hi FLucas さん、meta.discourse.org へようこそ :blob_wave:

APIをリバースエンジニアリングした結果、ユーザー名はスペースなしのカンマで区切る必要があることがわかりました。複数のユーザーを一度に追加しようとしている場合、それが問題の原因かもしれません。

以下のペイロードでテストしました。

{
    "group": {
        "name": "test",
        "bio_raw": "test",
        "full_name": "test",
        "usernames": "Canapin,adan",
        "owner_usernames": "cristopher_klocko,Canapin"
    }
}

これを admin/groups.json にPOSTリクエストとして送信したところ、うまくいきました。

「いいね!」 3

ご協力ありがとうございます。

例のおかげで、すべてのデータを含むグループを作成できました。

curl -X POST “https://site-discourse/admin/groups.json
-H “Content-Type: application/json”
-H “Api-Key: api-key”
-H “Api-Username: api-username”
-d ‘{
“group”: {
“name”: “name”,
“bio_raw”: “bio_raw”,
“full_name”: “full_name”,
“usernames”: “username1,unsaername2”,
“owner_usernames”: “owner_username1,owner_username2”
}
}’

API呼び出しに構造上の問題がありました。

迅速なご対応ありがとうございました。

フランク・ルーカス

「いいね!」 3

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.