嵌入youtube视频 - 拒绝在框架中显示,因为它将'X-Frame-Options'设置为'SAMEORIGIN'

时间:2014-09-04 08:54:27

标签: html django video youtube youtube-api

我正在尝试为我的django页面提供一些我从其他地方获得的资源。

在Feed中,我有YouTube视频,其中包含以下网址:https://www.youtube.com/watch?v=A6XUVjK9W4o

一旦我将此添加到我的页面中,视频就不会显示:

  

拒绝在a中显示“https://www.youtube.com/watch?v=A6XUVjK9W4o”   因为它将'X-Frame-Options'设置为'SAMEORIGIN'。

然后我说,好吧,如果我将watch更改为embed该怎么办?然后youtube播放器显示,但没有视频,说:

enter code here

有没有人知道我是如何让这个工作的?

我在html中显示如下:

<iframe width="420" height="315"
    src="{{vid.yt_url}}">
</iframe>
我用Google搜索了近一个小时,没有成功的迹象。我试图追加&output=embed .. nada ..

5 个答案:

答案 0 :(得分:231)

您必须确保网址包含嵌入而非观看,因为/embed端点允许外部请求,而/watch端点则不允许。< / p>

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

答案 1 :(得分:42)

src中的Youtube网址必须拥有并使用embed端点,而不是watch,例如,假设您要嵌入此YouTube视频https://www.youtube.com/watch?v=P6N9782MzFQ(浏览器&#39;你应该使用embed端点,所以网址现在应该是https://www.youtube.com/embed/P6N9782MzFQ,在HTML代码的iframe标记内的src属性中使用此值作为网址,例如:

<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

答案 2 :(得分:10)

您只需要从youtube Embed部分复制(点击视频下方的SHARE,然后点播EMBED并复制整个iframe)

答案 3 :(得分:2)

如果嵌入不再适用于您,请尝试使用/ v。

version "1.1.0"

apply plugin: 'java'
apply plugin: 'maven'


// Android support
sourceCompatibility = JavaVersion.VERSION_1_7

dependencies {
    testCompile 'junit:junit:4.11'
    testCompile 'org.mockito:mockito-core:2.0.3-beta'
}

uploadArchives {
    repositories.mavenDeployer {
        repository(url: "http://orchard.internal.mohc.net:8081/artifactory/libs-${version.endsWith("SNAPSHOT") ? "snapshot" : "release"}-local") {
            authentication(userName: artifactoryUsername, password: artifactoryPassword)
        }
    }
}

答案 4 :(得分:0)

除了嵌入,我还必须在浏览器中安装Google Cast扩展程序。

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