API를 통해 테마 컴포넌트 제어하는 방법?

여러분,

API를 통해 테마 구성 요소를 활성화/비활성화할 수 있는지 궁금해서요. 그런 방법이 있었던 것 같은데, 현재 Discourse API 문서에는 그 내용이 언급되어 있지 않습니다. ChatGPT가 그런 가능성이 있다고 언급해 주었고, 물론 ChatGPT는 신뢰할 수 있는 정보원이 아니라는 점은 잘 알고 있습니다. 그냥 이게 어떤 식으로든 가능한지 궁금한 것뿐인데, ChatGPT가 들려준 동화 같은 이야기는 완벽해 보이지만 실제로는 작동하지 않습니다. 관리자 API 자격 증명을 사용해도 API가 404를 반환합니다.

ChatGPT에게 해당 요청에 대한 정보 출처를 참조해 달라고 요청

ChatGPT가 실수에 대해 사과하는 중...

제 추측으로는 ChatGPT가 그냥 다 지어낸 것 같습니다. :rofl:

보시다시피, 아직 우리 모두가 일자리를 잃은 것은 아닙니다. :stuck_out_tongue:

테마 컴포넌트를 '활성화’하거나 '비활성화’하는 개념은 없으며, 단순히 부모 테마에 추가하거나 제거하면 됩니다. 수정: 잘못된 정보였습니다. 아래 @Canapin의 게시글을 확인하세요!

ChatGPT가 모든 것을 지어낸 것이 아니라 잘못된 엔드포인트와 바디를 사용했습니다.

브라우저의 네트워크 탭을 보면, 특정 이름의 부모 테마에 테마 컴포넌트를 추가할 때 다음을 호출하는 것을 확인할 수 있습니다.

PUT /admin/themes/<id>

(컴포넌트 ID)

페이로드는 다음과 같은 형태입니다:

parent_theme_ids: [<parent_id>]

제가 지어낸 것이 아니라, 그냥 브라우저의 네트워크 탭을 확인한 것입니다. :nerd_face:

도움이 되었다면 다행입니다.

그렇군요.

하지만 외부 API를 통해 접근할 수 있는 것 같지는 않네요…

그래도 감사합니다.

브라우저에서 발생한 문제일 겁니다. 키에 올바른 권한(단일 사용자, 글로벌 스코프)이 설정되어 있는지 확인하세요.

해당 개념은 존재하며, Discourse 인터페이스에서 버튼 이름은 "Enable"과 "Disable"입니다 :slight_smile:

image

물론 API를 통해서도 수행할 수 있습니다:

제 게시물에서는 테마와 컴포넌트 양쪽 모두에 대해 언급했지만, apparently 테마의 경우 조금 다른 것 같으니 제 해결책을 수정해야겠습니다.

아! 내 실수였어요! 잘하셨네요! :blush: 그 버튼들이 너무 아래에 있네요 :wink:

하지만 ChatGPT는 여전히 틀렸어요 :wink:

따라서 제 게시글을 수정했습니다. @kinetiksoft 정말 죄송합니다. 위에 언급했듯이, 가능은 하지만 ChatGPT가 말한 방식과는 다릅니다.