Impossibile creare proprietario del gruppo con API

Ciao,

Ho bisogno di migrare una vecchia applicazione a Discourse.
Sto usando le API con CURL per creare utenti e gruppi.

Sto usando Discourse v3.1.0.beta5 +392

Per gli utenti, non ho avuto problemi:
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”

Per i gruppi, ho provato a creare tutto in una volta: il gruppo, bio_raw, membri e proprietari secondo 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 proposito del groupe1”,“usernames”:“username1”,“owner_usernames”: “owner_username1”}’

Il gruppo viene creato con nome e bio_raw ma senza username1 e owner_username1

Ma posso creare membri nel modo seguente:
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

Ma non riesco a creare owner_usernames con l’API!

Grazie per il tuo aiuto

Franck Lucas

Ciao FLucas e benvenuto su meta.discourse.org :blob_wave:

Decompilando l’API, ho capito che gli username devono essere separati da una virgola senza spazi. Se stai cercando di aggiungere più utenti contemporaneamente, questo potrebbe essere il tuo problema.

Ho testato con il seguente payload:

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

Come richiesta POST a admin/groups.json, e ha funzionato.

3 Mi Piace

Grazie per il tuo aiuto,

Grazie al tuo esempio, sono riuscito a creare il mio gruppo con tutti i dati:

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

C’era un problema strutturale nella mia chiamata API!

Grazie per la tua rapida risposta,

Frank Lucas

3 Mi Piace

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