Impossível criar proprietário de grupo com a API

Olá,

Preciso migrar uma aplicação antiga para o Discourse.
Estou usando as APIs com CURL para criar os usuários e grupos.

Estou usando o Discourse v3.1.0.beta5 +392

Para os usuários, não tive problemas:
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 os grupos, tentei criar tudo de uma vez: o grupo, bio_raw, membros e proprietários de acordo com 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”}’

O grupo é criado com nome e bio_raw, mas sem username1 e owner_username1.

Mas consigo criar membros da seguinte forma:
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

Mas não consigo criar owner_usernames com a API!

Obrigado pela ajuda.

Franck Lucas

Olá FLucas e seja bem-vindo ao meta.discourse.org :blob_wave:

Por engenharia reversa da API, entendi que os nomes de usuário devem ser separados por vírgula sem espaço. Se você está tentando adicionar vários usuários de uma vez, pode ser esse o seu problema.

Testei com a seguinte carga útil:

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

Como uma requisição POST para admin/groups.json, e funcionou.

3 curtidas

Obrigado pela sua ajuda,

Graças ao seu exemplo, consegui criar meu grupo com todos os dados:

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

Havia um problema estrutural na minha chamada de API!

Obrigado pela sua rápida resposta,

Frank Lucas

3 curtidas

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