Youtubeの埋め込みがヨーロッパのサーバーで機能しなくなりました

YouTube の URL をワンボックス化しようとする際、YouTube が自動的に consent.youtube.com というページへリダイレクトします。このページには oEmbed や OpenGraph タグが含まれていないため、残念ながらワンボックス化は失敗してしまいます。

これは Discourse の不具合ではなく、どうやら YouTube 側で起こっている破壊的変更によるものです。meta では再現できないため、これはおそらく新しい欧州の規制に起因しているものと考えています。

当社のサーバーは欧州(ドイツ)にあり、リダイレクト先の URL は こちら で確認できます。

「いいね!」 12

Onebox Assistant pluginである程度は軽減されましたが、完全ではありません(埋め込みは表示されますが、タイトルは返されなくなっています)。

YouTubeについては、API キーなどを介した特定の仕組みがあるはずです。

「いいね!」 1

昨夜、この全く同じ問題について報告するためにここにログインしました。最近、私たちも同様の現象が発生しているためです。しかし、例の YouTube URL を貼り付けたところ、ここ Meta 上では問題なく動作してしまいました :roll_eyes:

私の Discourse のバージョンは v2.7.0.beta5 (61860098d9) です。

「いいね!」 5

おそらく、meta のサーバーがヨーロッパにないためでしょう :sweat_smile:

「いいね!」 2

イギリスも今はそうではありません :rofl:

「いいね!」 1

この問題は「データ同意フォーム」と関連しており、OneBox が実際のコンテンツではなくそれを検知してしまいます。

https://youtube.com/watch?v=XYZ の代わりに https://youtu.be/XYZ を使用すると動作します。これは「共有 URL」であり、同意ダイアログが表示されないためです(ただし、これは理想的な解決策ではありません)。

OneBox が URL を「短縮版」に自動変換しない限り、Discourse/OneBox がこのように処理するかどうかは不明ですが、一時的な対策としてどうでしょうか?詳細な情報やフィードバックを提供したまでです。

「いいね!」 10

メディア中心のコミュニティとして、会員によって何千もの YouTube 動画が共有されており、毎月数百件が投稿されています。

YouTube のこの変更はすでに大きな問題となっていますが、YouTube 自身が同意ページへのリダイレクトを強制している以上、Discourse がこれを解決できるものではないと思います。

「いいね!」 5

私も +1 を追加します。これは私たちのコミュニティにとっても大きな問題になるでしょう。

「いいね!」 5

更新:タイトル(および埋め込み)が Onebox Assistant とともに再び機能するようになりました。

「いいね!」 1

つまり、投稿が調理される際に、ご指摘のように Discourse が URL を書き換えるようにすれば、問題は解決するのでしょうか?

もしそうなら、プラグイン(あるいはテーマコンポーネントかもしれません)で修正できるはずです。おそらく、プルリクエストも歓迎されるでしょうし、あるいは彼らがすぐに修正してくれるかもしれません。

技術的にはその通りです。私は多くのテストを行い、その結果は一貫しています。短い URL では機能しますが、「公式」の URL では機能しません。

「いいね!」 3

それは安定した回避策とは考えられません。近い将来、Google が同様のポリシーをそれらにも適用する可能性が高いです。

「いいね!」 2

はい、その通りです。

どちらも「https://youtu.be/VIDEO」や、通常の URL から「www」を削除した「https://youtube.com/watch?v=VIDEO」が機能するため、同意ポップアップによる「ブロック」の基準は、ユーザーの視点からはあまり「論理的」ではないと非常に「面白い」ことに気づきます。

「いいね!」 3

異論はありませんが、そうなると唯一の解決策はYouTubeを使わないことになってしまいますね :man_shrugging:

「いいね!」 1

また、ユーザーにこの壊滅的なエラーメッセージが表示されないようにするため、コンポーザーのプレビューも捕捉する必要があります。

「いいね!」 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]

(つまり、これら 2 つの URL 形式も現在、同意ページへリダイレクトされています)

「いいね!」 3

その URL を私のイギリス拠点のサーバーで試してみましたが、正常にワンボックス/プレビューされました:

また、それを完全な長い URL に変更すると、再び同意に関する問題が発生します:

「いいね!」 4