Discourse에서 제3자 API를 호출하는 방법은?

안녕하세요,
node.js로 만든 제3자 커스텀 API를 Discourse에서 호출할 수 있는 방법이 있는지 궁금합니다.

피드백을 기다리겠습니다.

감사합니다

모든 상호작용이 HTTP를 통해 이루어진다면 API가 어떤 언어로 작성되었는지는 중요하지 않습니다.

테마 컴포넌트에서 JavaScript AJAX 호출을 작성하거나, 상황에 따라 Excon이나 Httparty와 같은 적합한 Ruby gem을 사용하여 새로 작성할 플러그인 코드에서 HTTP 호출을 수행해야 할 가능성이 높습니다.

@merefield 답변 감사합니다. 피드백 정말 감사드립니다.
저는 Discourse 개발에 처음 입문했습니다. 이전에 Node.js 기반 커뮤니티 CMS인 NodeBB에서 개발 작업을 해본 경험이 있습니다. 당시에는 많은 커스터마이징을 수행했습니다(예: Zoho 티켓 데이터를 호출하는 커스텀 API 생성, Vimeo 동영상 목록 가져오기 등). 따라서 동일한 작업을 수행하거나, 유사한 API를 Discourse에서 만들어야 하며, 응답 데이터를 사용자에게 정적 페이지로 렌더링하는 것이 필요합니다.

감사합니다.

백엔드를 사용하여 호출을 수행하세요:

  • 보안이 필요할 경우,
  • 백엔드에서 결과를 처리해야 할 경우
  • 호출이 장시간 소요될 수 있는 경우

장시간 소요되는 작업은 Job에 배치하세요.

이를 위해서는 플러그인 내에 Ruby 코드가 필요하며, 위에서 언급한 gems 중 하나가 필요합니다.

Discourse 플러그인 개발에 진입하는 것이 반드시 쉬운 것은 아닙니다. Discourse는 크고 복잡하며 의견이 분분한 플랫폼이지만, 여기에는 훌륭한 공식 가이드가 있으며, 참고할 수 있는 기존 오픈소스 플러그인이 많이 있습니다( Customization > Plugin 채널과 GitHub 링크를 참조하세요). 유사한 기능을 수행하는 플러그인을 찾아 코드로 어떻게 해결했는지 살펴보세요.

외형적인 변경이라면 Theme Component를 고려해 보세요. 여기의 테마 개발 가이드를 참고하세요.

예를 들어, 이 예제를 확인해 보세요: discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)

네 @merefield, 확인 중입니다. 피드백 감사합니다.