Impossible de créer le propriétaire du groupe avec l'API

Salut,

J’ai besoin de migrer une ancienne application vers Discourse.
J’utilise les API avec CURL pour créer les utilisateurs et les groupes.

J’utilise Discourse v3.1.0.beta5 +392

Pour les utilisateurs, je n’ai eu aucun problème :
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”

Pour les groupes, j’ai essayé de tout créer d’un coup : le groupe, bio_raw, les membres et les propriétaires selon 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”:“À propos du groupe1”,“usernames”:“username1”,“owner_usernames”: “owner_username1”}’

Le groupe est créé avec le nom et bio_raw mais pas username1 et owner_username1

Mais je peux créer des membres de la manière suivante :
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

Mais je ne peux pas créer owner_usernames avec l’API !

Merci pour votre aide

Franck Lucas

Salut FLucas et bienvenue sur meta.discourse.org :blob_wave:

En faisant de l’ingénierie inverse de l’API, j’ai compris que les noms d’utilisateur doivent être séparés par une virgule sans espace. Si vous essayez d’ajouter plusieurs utilisateurs à la fois, cela pourrait être votre problème.

J’ai testé avec la charge utile suivante :

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

En tant que requête POST vers admin/groups.json, et cela a fonctionné.

3 « J'aime »

Merci pour votre aide,
Grâce à votre exemple, j’ai pu créer mon groupe avec toutes les données :

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

Il y avait un problème structurel dans mon appel API !

Merci pour votre réponse rapide,

Frank Lucas

3 « J'aime »

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