유튜브 원박스 가져오기 시도

죄송합니다. API와 통신하는 플러그인에서 또 다른 문제가 발생했습니다.

검색 결과에 따라 특정 주제(topic)에 다양한 정보를 삽입하는 중입니다. 문제는 YouTube 영상 링크는 수신되지만, 원하듯 원박스(onebox)로 렌더링되지 않고 일반 텍스트로 삽입된다는 것입니다. 여러 방법을 시도해 보았지만 막혀서, 마크다운과 리치 텍스트 모두와 호환되도록 하고 싶습니다.

영상 처리와 관련된 제 코드 일부는 다음과 같습니다.

const videoTags = Array.from(xmlDoc.getElementsByTagName(“video”));
const frenchVideos = videoTags.filter(v => (v.getAttribute(“language”) || “”).toLowerCase().includes(“french”));

  if (frenchVideos.length > 0) {
    message += `<hr><h3>🎥 Vidéos de règles (FR) :</h3>`;

    frenchVideos.slice(0, 3).forEach(video => {
      let vTitle = (video.getAttribute("title") || "Vidéo")
        .replace(/How to play/gi, "Comment jouer")
        .replace(/Rules/gi, "Règles");
      const vLink = video.getAttribute("link");

      // 1. 제목을 해당 단락에 삽입
      message += `<p><strong>📖 ${vTitle}</strong></p>`;
      
      // 2. 빈 단락 하나 ('Enter' 키 누름 시뮬레이션)
      message += `<p></p>`;
      
      // 3. 링크만 삽입 (Discourse가 요구하는 "단독 줄")
      // <a> 태그를 사용하지 않고 URL의 원시 텍스트를 그대로 유지
      message += `<p>${vLink}</p>`;
      
      // 4. 또 다른 빈 단락 (두 번째 'Enter' 키 누름 시뮬레이션)
      message += `<p></p>`;
    });

    if (frenchVideos.length > 3) {
      message += `<p><i>(+ ${frenchVideos.length - 3} autres vidéos sur BGG)</i></p>`;
    }
  }

그리고 결과는 다음과 같습니다.

죄송합니다, 드디어 찾았어요. onebox 클래스를 사용해야 한다는 걸 잊고 있었네요 :sweat_smile:

방해가 되어 죄송합니다