No se puede crear el propietario del grupo con la API

Hola,

Necesito migrar una aplicación antigua a Discourse.
Estoy usando las API con CURL para crear los usuarios y grupos.

Estoy usando Discourse v3.1.0.beta5 +392

Para los usuarios, no tuve ningún problema:
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”

Para los grupos, intenté crear todo a la vez: el grupo, bio_raw, miembros y propietarios según 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”}’

El grupo se crea con nombre y bio_raw, pero sin username1 y owner_username1.

Pero puedo crear miembros de la siguiente manera:
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

¡Pero no puedo crear owner_usernames con la API!

Gracias por tu ayuda.

Franck Lucas

Hola FLucas y bienvenido a meta.discourse.org :blob_wave:

Al hacer ingeniería inversa de la API, entendí que los nombres de usuario deben separarse con una coma sin espacio. Si estás intentando agregar varios usuarios a la vez, puede ser ese tu problema.

Probé con la siguiente carga útil:

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

Como una solicitud POST a admin/groups.json, y funcionó.

3 Me gusta

Gracias por tu ayuda,

Gracias a tu ejemplo, pude crear mi grupo con todos los datos:

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”
}
}’

¡Había un problema estructural en mi llamada a la API!

Gracias por tu rápida respuesta,

Frank Lucas

3 Me gusta

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