그룹 소유자 추가 및 제거 API가 이해가 안 됩니다

API를 사용하여 그룹 소유자를 추가하고 제거하고 싶습니다. 이는 API 문서에记载되어 있지 않습니다.

관리자로 로그인한 상태에서 호출을 추적해 보니, 사용자를 소유자로 만드는 요청은 다음과 같습니다.

usernames=nikkilocke 페이로드와 함께 PUT groups/<gid>/owners (관리자 경로가 아님에 유의)

소유자에서 사용자를 제거하는 요청은 다음과 같습니다.

user_id=<uid> 페이로드와 함께 DELETE admin/groups/<gid>/owners

소스 코드를 살펴본 결과:


      def group_add_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        put("/admin/groups/#{group_id}/owners.json", group: args)
      end

      def group_remove_owners(group_id, args)
        args = API.params(args).required(:usernames).to_h
        delete("/admin/groups/#{group_id}/owners.json", group: args)
      end

이 코드는 2023년 이후 변경된 것으로 보이지 않습니다.

저는 Discourse 3.4.7을 사용 중이며, 소스 코드의 소유자 추가 엔트리포인트가 404 오류를 반환합니다.

시도해 본 URL:

PUT /groups/384/owners usernames=nikkilocke 성공

PUT /admin/groups/384/owners group[usernames]=nikkilocke 404 오류

DEL /admin/groups/384/owners group[usernames]=nikkilocke 성공

DEL /admin/groups/384/owners user_id = 12 성공

어떤 일이 일어나고 있는지, 그리고 이 작업을 위해 어떤 URL을 사용해야 하는지 조언해 주실 수 있나요?

그것이 오타일 것이고, 오류의 원인은 아닐 거라고 추정합니다.

API에 대한 가장 좋고 확실한 문서는 Discourse API 역공학입니다.

유효한 API 키를 가지고 있고 올바르게 전달하고 있는지 확인해 보셨나요? 인증이 제대로 되지 않은 경우 404 오류가 예상됩니다.

인증이 필요한 요청을 수행할 수 있나요?

원래 게시물에서 말했듯이, 4가지 가능성 중 3가지가 (같은 API 키를 사용하더라도) 문제없이 작동합니다.

아, 죄송합니다. 줄 말미의 "OK"가 너무 미묘해서 제가 알아채지 못했네요.

소유자를 추가하면, 폼 데이터에 usernames= pfaffman123가 포함된 PUT 요청 https://example.com/groups/75/owners.json을 확인했습니다.

제가 링크한 리버스 엔지니어링 단계를 따라 하셨나요?

@Nikki_Locke 님, 문제를 해결하셨나요?