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 !
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.