API를 사용하여 사용자를 무시할 수 없음

안녕하세요,

저는 Discourse API를 사용하여 모바일 포럼 앱을 개발하고 있습니다. 구글은 UGC(사용자 생성 콘텐츠)가 포함된 모든 앱에 차단 기능이 있어야 한다고 요구합니다.

조사를 해본 결과, Discourse에서는 사용자가 다른 사용자를 무시할 수 있으며, 이는 해당 요구 사항을 충족하는 것으로 보입니다.

하지만 다음 API를 사용하여 사용자를 무시하려고 할 때, 시도한 모든 사용자에게 422 오류와 함께 "죄송합니다. 그 사용자는 무시할 수 없습니다."라는 메시지가 표시됩니다.

u/{username}/notification_level.json
에
notification_level=ignore

이것이 발생하는 이유가 무엇인지 아시는 분 계신가요?

미리 감사드리며,
크리스 드림

안녕하세요, @chrisbai2021 :slight_smile:

무시(ignore) 기능은 신뢰 수준(Trust Level)에 따라 사용 가능하므로, 테스트 계정이 아직 TL2(해 기능을 사용하려면 기본적으로 필요한 수준)에 도달하지 못했을 수 있습니다.

또한 관리자(Admin)와 모더레이터(Moderator)는 무시할 수 없으므로, 어떤 대상을 무시하려고 하느냐에 따라 달라질 수 있습니다. :slight_smile:

안녕하세요 @JammyDodger, 빠른 답변 감사합니다.

말씀하신 내용이 이해됩니다. 구글의 정책을 준수하려면 가입 시 모든 사용자에게 최소한 TL2 등급을 기본값으로 설정해야 한다는 뜻이겠네요.

다시 한번 감사합니다!

또는 min trust level to allow ignore 설정을 조정할 수도 있습니다:

필요에 따라 관심 있을 수 있는 ‘mute’ 기능도 있습니다. 이 기능은 모든 사용자에게 제공됩니다.

여기에는 많은 기능과 해당 신뢰 수준, 그리고 이에 연결된 관리자 설정이 정리되어 있습니다: :slight_smile: :+1: Trust Level Permissions Table (inc Moderator Roles)

아, 최고네요! 이런 힌트 주셔서 감사합니다!

TL2로 설정하고, 무시 기능을 TL0까지 허용하도록 최소 신뢰 수준을 낮춰보았습니다. 그런데 지금은 500 에러가 발생하고 있습니다.

테스트를 위해 제공된 notification_level을 mute로 변경해 보았는데, 이번에는 요청이 성공했습니다.

무시 기능을 아예 사용할 수 있도록 하는 사이트 설정이 있는 건지 궁금합니다… 관리자 설정에서 찾아보았지만 아직까지 아무것도 보이지 않습니다…

오, expiring_at를 제공해야 할 것 같네요…

UI에서 해당 작업을 수행할 때 전송되는 요청을 살펴보면, 시간대를 추가해야 할 수도 있습니다:

수정:

아, 제가 먼저 말씀드렸네요. :slight_smile:

정말 멋지네요, 감사합니다! 이 정보가 정말 도움이 되네요 :slight_smile:

이렇게 하면 되네요!! 그런데 마지막 질문이 하나 있습니다…

무시한 사용자의 게시글은 숨겨지는데, 주제는 그렇지 않은 것 같습니다… 웹 UI에서도 이런 것 같습니다. 이게 정상적인 동작인가요?

아, 사용자 객체에 ignored_usernames를 사용해서 숨김 동작을 구현해야겠네요 :slight_smile: