Define reply_to ao criar uma mensagem através da API?

Hi. Is there a way to specify the message ID to which a new message responds when we create this last one through Discourse API?

I believe you should be able to use the key - reply_to_post_number in your POST request

http://docs.discourse.org/#tag/Posts%2Fpaths%2F~1posts%2Fpost

3 curtidas

Olá, permito-me reabrir este tópico. Estou usando a API no momento para converter um sistema de conversação personalizado para o Discourse, e estou com dificuldades nas respostas.

Uso a API /posts, com o parâmetro reply_to_post_number, e a postagem não aparece como uma resposta. Verifiquei que o reply_to_post_number corresponde ao post_number da postagem acima, sem sucesso.

Tentei fazer engenharia reversa da API, tentei adicionar nested_post à solicitação, pois essa era a principal diferença entre minha chamada e a da interface, mas o resultado ainda é o mesmo…

Note que a postagem criada através da API tem o reply_to_post_number corretamente definido. Apenas não aparece como tal na interface…

Obrigado por qualquer dica!

1 curtida

OK, acabei de criar uma conta porque tive o mesmo problema e encontrei a solução!

Como Bertrand disse; você pode definir o reply_to_post_number o dia todo, mas na interface do usuário, ele não é mostrado como uma resposta regular. Quando tentei criar uma resposta da mesma forma, mas com minha conta de administrador, funcionou! Isso indicou que tinha algo a ver com permissões.

Descobri que, se eu alterasse as configurações de segurança da categoria à qual a postagem pertencia, para que o grupo padrão “Todos” tivesse todos os direitos (incluindo direitos de Criação, que estavam desmarcados por padrão para mim), agora FUNCIONA! Não tenho certeza por que esse direito é necessário, já que Criar já funciona (posso criar uma postagem) e o direito de Responder já estava marcado, mas de qualquer forma… FUNCIONA :smiley:

1 curtida

Olá @greedNotGood @Bertrand_Gorge Estou construindo um projeto onde preciso adicionar uma resposta a uma postagem via API do Discourse. Sou novo no Discourse, vocês podem me ajudar com uma solicitação curl ou alguma documentação para o mesmo? Agradeço a ajuda.

Gaurav T

Olá @Gaurav_Tewari a documentação está aqui: Discourse API Docs

Você tem exemplos de curl no topo desta mesma página. Boa sorte!

Olá a todos.

Estou tentando criar uma postagem para ser exibida como uma resposta a outra postagem, mas, como várias pessoas acima, não estou tendo muito sucesso.

Estou enviando reply_to_post_number como uma das chaves na carga útil para /posts.json, com o valor retirado do post_number de outra postagem, mas isso não está fazendo nada. As configurações de segurança da categoria são totalmente permissivas para todos os usuários.

Curiosamente, a resposta muda quando uso reply_to_post_number na solicitação de postagem versus quando não uso. Se eu não a enviar com a solicitação, 'reply_to_post_number': None, estará presente na resposta, no entanto, se eu a enviar com a solicitação com um valor inteiro apontando para a postagem anterior, a resposta não terá essa chave.

Isso parece totalmente sem documentação, o que eu percebo muito bem, mas qualquer ajuda seria apreciada. A documentação da API do Discourse não ajuda, pois não é mencionada lá.

Obrigado.

1 curtida

Consegui responder a uma postagem com a API e funciona:


No entanto, realmente faltam informações em docs.discourse.org. :slight_smile:

Se você estiver disposto, também pode contribuir para esta documentação: Contributing to the Discourse API documentation

2 curtidas

O estranho é que eu também consigo fazer isso do Insomnia ou de qualquer requisição simples, mas quando faço isso do Python (apenas usando requests, não a API do Python), não parece funcionar.

Acabei de notar que os dados parecem estar lá, mas não estão sendo exibidos na visualização principal.

Mesmo no modo de segurança (bem, só para ter certeza…)?

O que https://seu-discurso.com/posts/{id}.json (onde {id} é o ID da nova postagem) retorna?

Existe um valor de chave \"reply_to_post_number\"?

Infelizmente, acho que não posso ajudar mais com isso e nunca usei Python, deixarei os verdadeiros conhecedores tentarem ajudá-lo :slight_smile:

Talvez colar seu script possa dar alguma pista?

É difícil dizer com base no seu exemplo se este é o caso, mas se você responder a uma postagem e sua resposta for a próxima postagem, ocultaremos as informações de responder à postagem na interface do usuário.

4 curtidas

Batman Facepalm GIF by WE tv

Se houvesse um facepalm maior, ele caberia aqui. Essa é, claro, a questão e eu acabei testando precisamente no tipo de postagem que está ao lado do seu alvo de resposta. Faz todo o sentido, é claro, apenas não é óbvio por que às vezes aparece e às vezes não.

No entanto, o mistério está resolvido, obrigado pessoal. Muito apreciado.

3 curtidas

Se isso puder te fazer sentir melhor, acho que muitas pessoas que trabalham na Discourse não conhecem todos os recursos do software :grin: (pelo menos, isso me faz sentir melhor :laughing:)

2 curtidas

Ah, entendo perfeitamente. Eu gerencio uma empresa que mantém e dá suporte a um grande projeto de código aberto. Chega um ponto em que o conhecimento coletivo é a única maneira.

4 curtidas

Este tópico foi fechado automaticamente após 2301 dias. Novas respostas não são mais permitidas.