Hyan
(Hyan)
4월 27, 2025, 9:17오전
1
안녕하세요,
제목과 같이, 위에서 언급한 엔드포인트를 실행하면 Postman에서 [] 응답을 받습니다. foobar 사용자가 주제를 생성하지 않은 경우 거의 모든 요청에서 []가 반환되지만, 주제를 방금 생성한 한 사용자의 경우에도 위 쿼리는 []를 반환합니다. 저는 두 경우 모두 사용자가 계정을 방금 생성했을 때의 기본 정보(등록 IP, 사용자 이름)는 사용자 정보이므로 항상 사용자 정보를 반환해야 한다고 생각합니다.
참고로, https://docs.discourse.org/에서 admin/users.json 엔드포인트를 찾을 수 없습니다. 이 엔드포인트가 제거되어 더 이상 사용하지 말아야 하나요? 감사합니다!
blake
(Blake Erickson)
4월 28, 2025, 3:32오후
3
사용할 수 있는 또 다른 엔드포인트인 /admin/users/list/{flag}.json 도 있습니다.
이메일로 필터링하려면 다음과 같이 하면 됩니다:
http://localhost:4200/admin/users/list/active.json?filter=name%40example.com&show_emails=true&order=&asc=&page=1
이 엔드포인트들의 API 문서를 검토하여 업데이트가 필요한지 확인하겠습니다.
Hyan
(Hyan)
4월 29, 2025, 4:45오전
5
안녕하세요 @blake ,
만약 여전히 admin/users.json을 호출하면 404 에러가 발생하나요, 아니면 코드의 기존 사용 방식을 유지할 수 있을까요? 제 디스코ourse 설치 버전은 3.4.0.beta2인데, 이는 여전히 admin/users.json을 사용할 수 있다는 뜻인가요?
의아한 점은 https://docs.discourse.org/에서 admin/users/list/all.json?email을 찾을 수 없다는 것입니다.
blake
(Blake Erickson)
4월 29, 2025, 12:44오후
7
네, 전혀 문제없습니다. /admin/users.json을 계속 사용해도 됩니다. 이 엔드포인트는 /admin/users/list/{flag}.json과 정확히 동일한 기본 코드를 사용합니다. 이것이 아직 문서화가 되지 않은 이유 중 하나일 수 있습니다.
토픽이 없는 신규 사용자를 /admin/users.json으로 반환받을 수 있습니다.
curl -i -sSL -X GET "http://localhost:4200/admin/users.json?email=982f145c7@example.com" \
-H "Api-Key: ..." \
-H "Api-Username: blake"
HTTP/1.1 200 OK
[
{
"id": 2731,
"username": "982f145c7",
"name": "982f145c7",
"avatar_template": "/letter_avatar_proxy/v4/letter/9/46a35a/{size}.png",
"active": true,
"admin": false,
"moderator": false,
"last_seen_at": null,
"last_emailed_at": null,
"created_at": "2025-04-29T12:31:52.894Z",
"last_seen_age": null,
"last_emailed_age": null,
"created_at_age": 103.259451,
"trust_level": 1,
"manual_locked_trust_level": null,
"title": null,
"time_read": 0,
"staged": false,
"can_be_deleted": true,
"silence_reason": "",
"days_visited": 0,
"posts_read_count": 0,
"topics_entered": 0,
"post_count": 0
}
]
결과가 빈 배열이 되지 않도록 정확한 이메일 주소를 사용해야 합니다.
Hyan
(Hyan)
4월 29, 2025, 1:42오후
8
감사합니다, @blake . 쿼리 문자열에서 mark의 +를 인코딩하지 않은 것은 제 실수입니다. 이로 인해 빈 응답이 반환되었습니다. 올바른 인코딩을 적용하면 예상된 결과가 반환됩니다.
admin/users/list/all.json?email도 동일한 이유 때문이라고 추정합니다. 문서에는 명시되어 있지 않지만요.
blake
(Blake Erickson)
4월 29, 2025, 2:59오후
9
실제로는 여기에 문서화되어 있습니다:
https://docs.discourse.org/#tag/Admin/operation/adminListUsers
다만 all은 전달할 수 있는 유효한 "플래그"가 아닙니다.
모든 사용자를 가져오려면 페이지네이션(pagination)을 사용해야 합니다.
http://localhost:4200/admin/users/list/active.json?show_emails=false&page=1
http://localhost:4200/admin/users/list/active.json?show_emails=false&order=&asc=&page=2