유럽 서버에서 YouTube 임베딩이 작동하지 않습니다

YouTube URL을 원박스(one-box) 처리하려고 하면, YouTube가 자동으로 consent.youtube.com이라는 이름의 페이지로 리다이렉트합니다. 이 페이지에는 oEmbed/OpenGraph 태그가 없어서 불행히도 원박싱이 실패합니다.

이것은 분명히 Discourse의 문제가 아니라, YouTube 측에서 발생한 (아마도) 호환성을 깨뜨리는 변경 사항과 관련이 있습니다. meta에서 재현할 수 없기 때문에, 이는 유럽의 새로운 규제 때문일 것으로 추정됩니다.

저희 서버는 유럽(독일)에 위치해 있으며, 리다이렉트 URL을 여기에서 확인하실 수 있습니다.

12개의 좋아요

Onebox Assistant 플러그인을 통해 다소 개선되었지만, 완전히 해결되지는 않았습니다(임베드는 렌더링되지만 더 이상 제목을 반환하지 않음).

YouTube에 대해 API 키를 통해 구현된 특정 방식이 있을 것 같은데…

1개의 좋아요

어젯밤에도 이 문제를 보고하려고 여기 접속했는데, 최근 우리 쪽에서도 같은 현상이 일어나고 있었거든요. 그런데 제 유튜브 URL 예시를 붙여넣어 보니 메타 사이트에서는 정상적으로 작동하더군요 :roll_eyes:

저희 discourse 버전은 v2.7.0.beta5입니다 ( 61860098d9 )

5개의 좋아요

아마도 meta의 서버가 유럽에 있지 않아서겠죠 :sweat_smile:

2개의 좋아요

영국도 지금은 그렇지 않아요 :rofl:

1개의 좋아요

이 문제는 "데이터 동의 양식(Data Consent Form)"과 관련이 있으며, OneBox가 실제 콘텐츠 대신 이를 감지하고 있습니다.

https://youtube.com/watch?v=XYZ 대신 https://youtu.be/XYZ로 변경하면 동작합니다. 이는 "공유 URL"이며 동의 다이얼로그가 표시되지 않기 때문입니다. (다만, 이는 이상적인 해결책은 아닙니다.)

혹시 OneBox 처리 시 URL을 "짧은 버전"으로 자동으로 변경하는 기능을 추가하는 것이 빠른 해결책이 될 수 있을까요? 모르겠지만, 추가 정보/피드백을 드리고자 합니다.

10개의 좋아요

미디어 중심의 커뮤니티인 우리는 회원들이 공유한 수천 개의 YouTube 영상을 보유하고 있으며, 매월 수백 개의 영상이 업로드되고 있습니다.

YouTube의 이번 변경 사항은 이미 실질적인 문제를 일으키고 있지만, YouTube 자체가 동의 페이지로의 리디렉션을 강제하는 상황에서 Discourse 측에서 해결할 수 있는 문제라고는 생각하지 않습니다?

5개의 좋아요

우리 커뮤니티에도 큰 문제가 될 것 같아서 +1 추가합니다.

5개의 좋아요

업데이트: 원박스 어시스턴트를 통해 제목(그리고 임베드)이 다시 작동합니다.

1개의 좋아요

그렇다면 포스트가 쿠킹(cook)될 때 당신이 설명한 대로 URL을 다시 작성하면 문제가 해결되나요?

그렇다면 플러그인(아마도 테마 컴포넌트일 수도?)으로 이를 수정할 수 있을 것이며, PR이 환영되거나 빠르게 수정될 것이라고 예상합니다.

기술적으로는 그렇습니다. 많은 테스트를 해봤는데, 일관되게 작동하며 짧은 URL에서는 작동하지만 “공식” URL에서는 작동하지 않습니다.

3개의 좋아요

그것을 안정적인 우회책이라고 보지는 않습니다. 구글이 가까운 미래에 그들에게도 동일한 정책을 적용할 가능성이 높기 때문입니다.

2개의 좋아요

네, 그렇지 않아요.

https://youtu.be/VIDEO와 일반 URL에서 "www"를 제거한 https://youtube.com/watch?v=VIDEO 모두 작동하기 때문에, 정말 "유머러스"하게 느껴집니다. 즉, 동의 팝업의 “차단” 기준은 사용자 입장에서 꽤 "논리적"이지 않다는 거죠.

3개의 좋아요

동의하지 않는 건 아니지만, 그러면 유일한 해결책은 YouTube를 쓰지 않는 것뿐이네요. :man_shrugging:

1개의 좋아요

사용자에게 이 치명적인 실패 메시지가 표시되지 않도록 컴포저(composer) 미리보기도 함께 처리해야 합니다:

1개의 좋아요

아프네요, 이 문제를 꼭 조사해야 합니다! 신고해 주셔서 감사합니다.

13개의 좋아요

추가로, /user/ 계정 링크에서도 동일한 문제가 발생합니다:

6개의 좋아요

다시 한 번 해당 URL들을 테스트해 주실 수 있을까요? 프랑크푸르트 서버에서 현재 확인되는 내용입니다 (wget 출력을 리다이렉트만 보이도록 편집함):

wget 'https://youtu.be/KCyIfcevExE'

--2021-04-06 19:03:39--  https://youtu.be/KCyIfcevExE
Location: https://www.youtube.com/watch?v=KCyIfcevExE&feature=youtu.be [following]

--2021-04-06 19:03:39--  https://www.youtube.com/watch?v=KCyIfcevExE&feature=youtu.be
Location: https://consent.youtube.com/m?continue=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKCyIfcevExE%26feature%3Dyoutu.be&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1 [following]

또는

wget 'https://youtube.com/watch?v=KCyIfcevExE'

--2021-04-06 19:05:45--  https://youtube.com/watch?v=KCyIfcevExE
Location: https://consent.youtube.com/m?continue=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3DKCyIfcevExE&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1 [following]

--2021-04-06 19:05:45--  https://consent.youtube.com/m?continue=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3DKCyIfcevExE&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1
Location: https://consent.youtube.com/ml?continue=https://youtube.com/watch?v%3DKCyIfcevExE&gl=DE&hl=de&pc=yt&uxe=23983172&src=1 [following]

(즉, 이 두 가지 URL 형식도 이제 동의 페이지로 리다이렉트되고 있습니다)

3개의 좋아요

영국 기반 서버에서 해당 URL을 직접 테스트해 보았으며, onebox/미리보기가 정상적으로 작동했습니다:

그런데 전체/긴 URL로 변경하면 동의 관련 문제가 다시 발생합니다:

4개의 좋아요