포스트(Post)란 무엇인가요? (Discourse API 질문)

내가 운영하는 Discourse 기반 포럼의 활동을 정확히 측정하고 보고하려고 합니다. Post가 무엇인지 근본적으로 이해하지 못하고 있는 것 같습니다.

API에는 Topics와 Posts가 있습니다. 예를 들어 Posts를 가져오려면 filter=5를 사용할 수 있습니다.

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

("offset"이 무엇인지 아시는 분 계신가요?)

여기서 의문이 생깁니다. Posts에는 Topics가 포함되지 않는 것 같습니다. 이것이 예상되는 동작인가요?

Posts와 Replies의 관계는 어떻게 되나요? Posts가 Replies의 상위 집합으로 보이지 않습니다.

API의 Posts는 리포트(Admin → Reports → Posts)에서 보는 것과 동일한 건가요?

도움 주시면 감사하겠습니다.

제가 파악한 바로는, /user_actions.json?offset=0&username=USERNAME&filter=5에서 게시물에 대한 filter=5는 보고서의 _게시물(Posts)_과 일치하지 않습니다. 보고서의 _게시물(Posts)_에는 _게시물(posts, filter=5)_과 _토픽(topics, filter=4)_이 모두 포함된 것으로 보입니다.

_게시물(posts)_은 답글(replies) + _토픽(topics)_을 의미해야 한다고 가정하고 있습니다. 이 부분을 더 잘 아시는 분께서 확인해 주시면 좋겠습니다.

이것이 사실이라면, 답글(filter 6)과 토픽(filter 4)을 사용해 볼 수 있습니다. 하지만 디스코urs 관리자에서 제공하는 보고서가 정확하고 예상된 수치를 보여주고 있어, 이 점이 약간 우려됩니다.

디스코urs API를 사용하여 보고서를 생성하는 예시를 검색해 보시기 바랍니다.

네, 게시물은 토픽 안에 있습니다. 따라서 새 게시물을 검색하면 새 토픽은 검색되지 않습니다.

토픽을 생성하면 게시물도 함께 생성됩니다. 첫 번째 게시물은 토픽의 일부입니다.
그러나 이후의 모든 답변도 게시물로 간주됩니다. 답변을 게시하기 때문입니다. :slightly_smiling_face:

offset과 API의 게시물이 관리자 → 보고서 → 게시물과 동일한지 여부는 다른 분에게 맡기겠습니다.

이게 도움이 될까요?

우선 도움을 주셔서 감사합니다.

/user_actions.json?offset=0&username=USERNAME&filter=5를 사용해도, 해당 게시글이 주제의 첫 번째 게시글인 경우 게시글로 카운트되지 않는 것 같습니다.

API를 잘못 사용하고 있는 것일 수 있습니다.

7개의 활동이 있는 테스트 계정이 있습니다.

  • 각 게시글이 포함된 3개의 주제
  • 기존 주제에 대한 4개의 답글

"posts"로 필터링하면 예상했던 7개가 아닌 4개의 카운트가 반환됩니다.

예상한 게시글 수 7개를 얻으려면 "replies"와 "topics"를 더해야 할 것 같습니다.

제가 이해한 바로는, filter 값이 5인 경우 주제의 첫 번째 게시글과 답글을 모두 반환해야 하지 않나요?

API를 사용하여 특정 사용자의 posts 수를 가져오는 방법을 이해하는 데 도움이 될 것입니다.

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

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

맞습니다. 모든 주제는 주제 생성의 일부로 첫 번째 게시물을 포함합니다. 주제 헤더만으로 주제를 생성하는 것은 불가능합니다. 이 첫 번째 게시물은 게시물 쿼리(필터-5)에서 게시물(답글)로 집계되지 않습니다.

게시물을 쿼리할 때, 이는 기존 주제에 대한 새 답글을 쿼리하는 것이며, OP(첫 번째 게시물)는 제외됩니다. 이는 새 게시물만 표시하도록 하는 것으로, 예상되는 동작입니다.

주제(해당 사용자가 생성한)를 쿼리의 일부로 포함하려면, Filter=4를 사용해야 합니다. 그러면 해당 사용자가 생성한 주제(OP가 카운트 [3]의 일부로 포함됨)와 답글 [4]가 반환됩니다. 그러면 보고서에서 보는 7개가 반환됩니다. 생성된 주제 3개 + 답글 4개로 총 7개(OP 3개 + 답글 4개)가 됩니다.

더 잘 아시는 분이라면 자유롭게 답변해 주세요.

@JimPas, 도움을 주셔서 감사합니다. 매우 유용한 정보입니다. 이 지식을 바탕으로 이제 더 자신감 있게 애플리케이션 대시보드를 진행하겠습니다. 좋은 하루 보내세요. 저 같은 낯선 사람에게 이렇게 도움을 주시다니 정말 감사드립니다.

저도 마찬가지입니다, @JimPas. 정말 유용하고 감사드립니다. 감사합니다.