Не удалось создать владельца группы через 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

Но я не могу создать owner_usernames через API!

Спасибо за вашу помощь.

Франк Лукас

Привет, FLucas, и добро пожаловать на meta.discourse.org :blob_wave:

В результате реверс-инжиниринга API я понял, что имена пользователей должны быть разделены запятой без пробела. Если вы пытаетесь добавить нескольких пользователей сразу, возможно, это и есть ваша проблема.

Я протестировал с следующей нагрузкой:

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

Как POST-запрос к admin/groups.json, и это сработало.

Спасибо за вашу помощь.
Благодаря вашему примеру мне удалось создать группу со всеми данными:

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-запросе была структурная ошибка!

Спасибо за быстрый ответ,

Фрэнк Люкас