O que é um Post? (Pergunta sobre a API do Discourse)

Estou tentando avaliar e relatar com precisão a atividade de um fórum que estou administrando usando o Discourse. Acredito que não compreendo fundamentalmente o que é um Post.

Na API, existem Tópicos e Posts. Por exemplo, se eu quiser obter Posts, posso usar filter=5

/user_actions.json?offset=0&username=USERNAME&filter=5

(Alguém pode me dizer o que é “offset”?)

Aqui está o mistério. Os Posts não parecem incluir Tópicos. Esse é o comportamento esperado?

O que são Posts em relação às Respostas? Eles não parecem ser um superconjunto.

Os Posts na API são os mesmos que obtemos no relatório (Admin → Relatórios → Posts)?

Qualquer ajuda é apreciada.

1 curtida

Pelo que pude verificar, o parâmetro filter=5 para postagens em /user_actions.json?offset=0&username=USERNAME&filter=5 não corresponde às Postagens no relatório. Parece que as Postagens no relatório incluem tanto as postagens (filter=5) quanto os tópicos (filter=4).

Estou assumindo que as postagens deveriam ser respostas + tópicos. Seria ótimo se alguém mais experiente pudesse confirmar isso.

Se for esse o caso, posso tentar usar respostas (filter=6) e tópicos (filter=4). No entanto, estou um pouco preocupado com isso, pois o relatório no painel do Discourse está apresentando os números corretos e esperados.

Tente buscar um exemplo de uso da API do Discourse para gerar relatórios.

1 curtida

Sim, as publicações estão dentro de um tópico. Portanto, pesquisar por novas publicações não buscará novos tópicos.

Quando você cria um tópico, também cria uma publicação — a primeira publicação faz parte do tópico.
No entanto, todas as respostas subsequentes também são consideradas publicações — você está publicando suas respostas. :slightly_smiling_face:

Quanto ao offset e se as publicações na API são as mesmas em Admin → Relatórios → Publicações, vou deixar isso para outra pessoa.

1 curtida

Isso ajuda?

3 curtidas

Primeiro, obrigado pela sua ajuda.

Ao usar /user_actions.json?offset=0&username=USERNAME&filter=5, parece que não estou obtendo uma contagem de postagem se ela foi a primeira postagem de um tópico.

Pode ser que eu esteja usando a API incorretamente.

Tenho uma conta de teste com 7 atividades.

  • 3 tópicos, cada um com uma postagem
  • 4 respostas a tópicos existentes.

Quando filtro por “postagens”, obtenho uma contagem de 4, e não os 7 esperados.

Para obter a contagem esperada de 7 postagens, acho que preciso adicionar “respostas” e “tópicos”.

Pelo que entendi, acho que o filter de 5 deve retornar tanto as postagens que são a primeira postagem de um tópico quanto as respostas, certo?

Gostaria muito de ajuda para entender como obter a contagem de postagens de usuários específicos usando a API.

 query = {'username': username, 'filter': '5'};

  var response = await getRequest(
      path: '/user_actions.json',
      queryParameters: query);

Isso está correto. Todos os tópicos têm uma primeira postagem como parte da criação do tópico. Não seria possível criar um tópico com apenas um cabeçalho. Essa primeira postagem não é contabilizada como uma postagem (resposta) em uma consulta de postagens (filtro-5).

Quando você consulta postagens, isso se refere a novas respostas para tópicos existentes — excluindo o OP (autor original). Esse é o comportamento esperado: mostrar apenas as postagens novas.

Para incluir tópicos (criados por esse usuário) como parte da consulta, o Filtro=4 deve retornar os tópicos que o usuário criou (incluindo os OPs como parte da contagem [3]) e suas respostas [4]. Isso retornaria os 7 que você vê no relatório: 3 tópicos criados + 4 respostas, totalizando 7 (3 OPs + 4 respostas).

Se alguém mais conhecedor quiser contribuir, fique à vontade para intervir.

4 curtidas

@JimPas, obrigado pela sua ajuda. É muito útil. Com esse conhecimento, estou avançando com o painel do aplicativo com mais confiança. Tenha um bom dia. Foi muito gentil da sua parte ajudar um estranho como eu.

3 curtidas

Aqui também, @JimPas, muito útil e muito apreciado. Obrigado.

2 curtidas