토픽 타이머 트리거에 API 권한이 필요합니다

안녕하세요!

마지막 답변 후 _x_일 뒤에 "토픽 닫기"를 트리거하려고 시도하고 있지만, 어떤 권한이 필요한지 도저히 알 수가 없습니다. 전체 쓰기 권한을 부여하는 것은 별로 원하지 않습니다.

특정 엔드포인트:
POST /t/{ID}/timer

예시 페이로드:

status_type=close&based_on_last_post=true&duration_minutes=20160

혹시 올바른 방향으로 안내해 주실 수 있는 분이 있을까요?

미리 감사드립니다!

매튜 씨, 안녕하세요.

리뷰를 위해 트리거되는 오류를 공유해 주실 수 있을까요?

안녕하세요 @pedro

저는 항상 전체 쓰기 권한을 부여하지 않으면 403 에러가 발생했어요.

지원되는 다양한 URL의 API 뷰에서 제공되는 힌트를 살펴봤는데, 타이머 URL(/t/{ID}/timer)의 형식과 일치하는 것이 하나도 없더라고요. 제가 뭔가 놓치고 있는 건지도 몰라요 :slight_smile:

전체 쓰기 권한을 부여하는 건 피하고 싶어서, 특히 이 경우 어떤 권한이 필요한지 파악하려고 합니다.

감사합니다!

403 에러는 duration_minutes나 based_on_last_post 파라미터가 아니라, 토픽 타이머 엔드포인트에 필요한 권한과 관련이 있을 가능성이 높습니다.

API 문서에 표시된 권한에만 의존하기보다는, 현재 Discourse 소스에서 POST /t/{id}/timer 엔드포인트의 인증 요구 사항을 확인해 보시기 바랍니다. 타이머 동작은 UI에서 사용되는 것과 동일한 토픽 수준의 쓰기/모더레이션 권한을 요구할 수 있으며, 이는 현재 전체 쓰기 권한이 작동하는 이유를 설명해 줍니다.

토픽 타이머에 대해 더 세분화된 권한이 제공된다면, 엔드포인트의 인증 확인 및 해당 정책/가디언 메서드를 통해 이를 식별할 수 있어야 합니다. 그렇지 않은 경우, 더 넓은 쓰기 권한을 부여하는 것보다 API 키를 필요한 토픽 범위로만 제한하는 것이 더 바람직합니다.