API로 그룹 소유자를 만들 수 없음

안녕하세요,

기존 애플리케이션을 Discourse로 마이그레이션해야 합니다.
CURL API를 사용하여 사용자와 그룹을 생성하고 있습니다.

현재 사용 중인 버전은 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”

그룹의 경우, Discourse API Docs 에 따라 그룹, bio_raw, 멤버 및 소유자를 한 번에 생성하려고 시도했습니다:
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

안녕하세요 FLucas, meta.discourse.org에 오신 것을 환영합니다 :blob_wave:

API를 역공학한 결과, 사용자 이름(usernames)은 공백 없이 쉼표로 구분해야 한다는 것을 알게 되었습니다. 여러 사용자를 한 번에 추가하려는 경우라면 이것이 문제일 수 있습니다.

다음과 같은 페이로드로 테스트해 보았습니다:

{
    "group": {
        "name": "test",
        "bio_raw": "test",
        "full_name": "test",
        "usernames": "Canapin,adan",
        "owner_usernames": "cristopher_klocko,Canapin"
    }
}
`
`admin/groups.json`으로 POST 요청을 보냈고, 정상적으로 작동했습니다.

![Insomnia_7Y3M6GEoyo|video](upload://lxyFYwZ7AxgoOkPgEDLjXZMvYzs.mp4)

도움 주셔서 감사합니다.

예시를 참고하여 모든 데이터를 포함하여 그룹을 생성할 수 있었습니다:

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 호출에 구조적 문제가 있었습니다!

빠른 답변 주셔서 감사합니다.

Frank Lucas