사전 계산된 커뮤니티 헬스 데이터를 프로그래매틱하게(예: API 등) 쉽게 접근할 수 있을까요? 커뮤니티 헬스 페이지에서 각 지표를 계산하는 데 사용된 방법론을 직접 재현할 필요 없이 데이터를 활용할 수 있으면 좋겠습니다. 그렇게 하면 커뮤니티 헬스 페이지와 결과가 일치하지 않는 문제를 방지할 수 있을 것 같습니다. 감사합니다!
안녕하세요 @oneonetwothree ![]()
보고서 데이터를 JSON 형식으로 출력할 수 있습니다.
예를 들어, 1월 1일부터 5월 1일까지의 게시물 데이터:
https://your-discourse.com/admin/reports/posts.json?end_date=2023-05-01&mode=table&start_date=2023-01-01
이렇게 출력됩니다:
{
"report": {
"type": "posts",
"title": "Posts",
"xaxis": "Day",
"yaxis": "Number of new posts",
"description": "New posts created during this period",
"description_link": null,
"data": [
{
"x": "2023-01-22",
"y": 1
},
{
"x": "2023-01-27",
"y": 1
},
{
"x": "2023-01-31",
"y": 1
},
{
"x": "2023-02-01",
"y": 1
},
{
"x": "2023-02-02",
"y": 1
},
{
"x": "2023-02-06",
"y": 22
},
{
"x": "2023-02-07",
"y": 2
},
{
"x": "2023-02-10",
"y": 3
},
{
"x": "2023-02-11",
"y": 5
},
{
"x": "2023-02-13",
"y": 1
},
{
"x": "2023-02-14",
"y": 1
},
{
"x": "2023-02-17",
"y": 5
},
{
"x": "2023-02-20",
"y": 6
},
{
"x": "2023-02-21",
"y": 1
},
{
"x": "2023-02-22",
"y": 1
},
{
"x": "2023-02-23",
"y": 1
},
{
"x": "2023-02-24",
"y": 2
},
{
"x": "2023-02-25",
"y": 1
},
{
"x": "2023-03-01",
"y": 1
},
{
"x": "2023-03-02",
"y": 4
},
{
"x": "2023-03-03",
"y": 1
},
{
"x": "2023-03-05",
"y": 2
},
{
"x": "2023-03-06",
"y": 1
},
{
"x": "2023-03-08",
"y": 1
},
{
"x": "2023-03-09",
"y": 2
},
{
"x": "2023-03-13",
"y": 1
},
{
"x": "2023-03-16",
"y": 1
},
{
"x": "2023-03-17",
"y": 9
},
{
"x": "2023-03-20",
"y": 1
},
{
"x": "2023-03-22",
"y": 1
},
{
"x": "2023-03-23",
"y": 2
},
{
"x": "2023-03-25",
"y": 1
},
{
"x": "2023-03-31",
"y": 1
},
{
"x": "2023-04-01",
"y": 1
},
{
"x": "2023-04-03",
"y": 1
},
{
"x": "2023-04-04",
"y": 9
},
{
"x": "2023-04-07",
"y": 1
},
{
"x": "2023-04-08",
"y": 1
},
{
"x": "2023-04-12",
"y": 3
},
{
"x": "2023-04-13",
"y": 4
},
{
"x": "2023-04-14",
"y": 6
},
{
"x": "2023-04-19",
"y": 1
},
{
"x": "2023-04-23",
"y": 1
},
{
"x": "2023-04-24",
"y": 2
},
{
"x": "2023-04-25",
"y": 6
}
],
"start_date": "2023-01-01T00:00:00Z",
"end_date": "2023-05-01T23:59:59Z",
"prev_data": null,
"prev_start_date": "2022-09-02T00:00:00Z",
"prev_end_date": "2023-01-01T00:00:00Z",
"prev30Days": 10,
"dates_filtering": true,
"report_key": "reports:posts:20230101:20230501:[:total, :prev30Days]:4",
"primary_color": "rgba(0,136,204,1)",
"secondary_color": "rgba(0,136,204,0.1)",
"available_filters": [
{
"id": "category",
"type": "category",
"default": null
}
],
"labels": [
{
"type": "date",
"property": "x",
"title": "Day"
},
{
"type": "number",
"property": "y",
"title": "Count"
}
],
"average": false,
"percent": false,
"higher_is_better": true,
"modes": [
"table",
"chart"
],
"total": 167
}
}
이것이 찾고 있는 내용인가요?
정말 좋습니다! 해당 엔드포인트에 대한 문서가 있나요? https://docs.discourse.org/ 에서 찾을 수 없습니다.
가입(Signups), 주제(Topics), 게시글(Posts) 엔드포인트는 추측해서 찾았지만, DAU/MAU, 일일 활성 사용자(Daily Engaged Users), 신규 기여자(New Contributors), 통합 페이지뷰(Consolidated Pageviews)도 가져오고 싶었습니다. 이 항목들도 존재하는지 아시나요? 감사합니다!
대부분의 경우 URL 끝에 .json을 추가하면 Rails가 보내는 데이터를 확인할 수 있습니다.