web-dev-qa-db-ja.com

YouTubeビデオを埋め込む - 'X-Frame-Options'が 'SAMEORIGIN'に設定されているため、フレームに表示することを拒否されました

私は自分のDjangoページを他の場所から入手したリソースでフィードしようとしています。

フィード内に、私は次のようなURLのYouTube動画があります。https://www.youtube.com/watch?v=A6XUVjK9W4o

これを自分のページに追加すると、ビデオには表示されません。

「X-Frame-Options」を「SAMEORIGIN」に設定しているため、フレーム内に「 https://www.youtube.com/watch?v=A6XUVjK9W4o 」を表示することを拒否されました。

watchembedに変更したらどうなるでしょうか。すると、YouTubeプレーヤーが表示されますが、ビデオは表示されません。

enter code here

これを機能させるための手がかりを誰かが持っていますか?

私はこのようにHTMLで表示しています:

<iframe width="420" height="315"
    src="{{vid.yt_url}}">
</iframe>

私はほぼ1時間グーグルしましたが、成功の兆しはありません。 &output=embedを追加しようとしました。

103
doniyor

/embedエンドポイントでは外部からの要求が許可されているのに対し、/watchエンドポイントでは許可されていないため、URLにembedむしろwatchが含まれるようにする必要があります。

<iframe width="420" height="315" src="https://www.youtube.com/embed/A6XUVjK9W4o" frameborder="0" allowfullscreen></iframe>
232

srcのYoutube URLは、embedの代わりにwatchエンドポイントを持っている必要があります。たとえば、このyoutubeビデオを埋め込む場合はhttps://www.youtube.com/watch?v=P6N9782MzFQ(ブラウザのURL)を使用する必要がありますembedエンドポイントなので、URLはhttps://www.youtube.com/embed/P6N9782MzFQのようになります。HTMLコードのiframeタグ内のsrc属性でこの値をurlとして使用します。次に例を示します。

<iframe width="853" height="480" src="https://www.youtube.com/embed/P6N9782MzFQ" frameborder="0" allowfullscreen ng-show="showvideo"></iframe>

https://www.youtube.com/watch?v=https://www.youtube.com/embed/に置き換えるだけで、もちろんこのサンプルであなたの動画のIDを確認してください私の動画IDはP6N9782MzFQ

44
d1jhoni1b

Youtubeの埋め込みセクションからコピーするだけです(ビデオの下の[共有]をクリックしてから[埋め込み]をクリックし、iframe全体をコピーします)。

11
Popa Andrei

Embedが動作しなくなった場合は、代わりに/ vを試してください。

<iframe width="420" height="315" src="https://www.youtube.com/v/A6XUVjK9W4o" frameborder="0" allowfullscreen></iframe>
1
rii

埋め込みと一緒に、私はまた私のブラウザにグーグルキャスト拡張をインストールしなければならなかった。

<iframe width="1280" height="720" src="https://www.youtube.com/embed/4u856utdR94" frameborder="0" allowfullscreen></iframe>
0
Raunaq Kochar