无法嵌入某些YouTube视频,iframe显示“该视频包含来自WMG的内容。在某些网站上禁止播放”

无法嵌入某些YouTube视频,iframe显示“该视频包含来自WMG的内容。在某些网站上禁止播放”,iframe,youtube,youtube-api,clojurescript,reagent,Iframe,Youtube,Youtube Api,Clojurescript,Reagent,我正在用ClojureScript和试剂构建一个即时YouTube客户端,当我尝试播放大多数音乐视频时,它会显示视频包含X内容的错误。在某些网站上,它被限制播放,但在我的本地服务器上,同样的视频播放得很好,在这两种情况下,iframe发送相同的referer和origin头,当我在这里嵌入视频时,它也可以工作 我不明白问题是什么,这是我的iframe试剂组件 [:iframe {:class "embed-responsive-item" :allow-full-screen

我正在用ClojureScript和试剂构建一个即时YouTube客户端,当我尝试播放大多数音乐视频时,它会显示视频包含X内容的错误。在某些网站上,它被限制播放,但在我的本地服务器上,同样的视频播放得很好,在这两种情况下,iframe发送相同的referer和origin头,当我在这里嵌入视频时,它也可以工作 我不明白问题是什么,这是我的iframe试剂组件

[:iframe {:class "embed-responsive-item"
          :allow-full-screen "allowfullscreen"
          :frame-border 0
          :auto-play 1
          :src (str "https://www.youtube.com/embed/" (if (nil? videoId) 
          "SW-BU6keEUw" videoId) "?autoplay=1&enablejsapi=1")}]]
这是我使用v3向YouTube搜索API发送的ajax请求 cljsajax

(fn [term]
  (ajax/GET
    "https://www.googleapis.com/youtube/v3/search"
    {:params {:q term
              :maxResults 5
              :part "snippet"
              :type "video,playlist"
              :key YOUTUBE_API_KEY}
    :handler handle-youtube-resonse
    :response-format (ajax/json-response-format {:keywords? true})
    :headers {:referer "https://www.youtube.com/"
              :x-spf-referer "https://www.youtube.com/"}))

在此过程中也遇到了相关错误

某些视频应用了域级白名单或黑名单 他们这由内容所有者自行决定

如果存在白名单或黑名单,以及 无法确定嵌入位置,可能是因为没有 如果是本机应用程序,则为真正的引用域 默认行为是阻止播放

这篇博文还有更详细的内容:

另一个答案也有一点,即如果您试图从应用程序而不是网页请求列入黑名单的视频,您将收到以下错误消息:

"This video contains content from ___. It is restricted from playback on certain sites."
你被错误地列入黑名单。检查以修复此问题

您需要为Youtube API请求提供源代码

在Youtube视频的请求标头中,将Referer设置为您要从中拨打电话的域,例如,应用程序相应网站的域。如果你没有 一个域,您可以轻松地编写其他域,这可能 我也工作

对于Android Java,您可以看到一个示例。 对于iOS, 对于React Native,您可以使用组件上的origin prop来表示域origin is,但不表示 你知道的太多了。 浏览器中的同一问题,当扩展插件阻止发送Referer头进行良好测量时。 注意:这个答案适用于Youtube的V3API


问题是服务器没有域名,显然,如果referer头是服务器的IP地址,youtube会将应用程序列入黑名单谢谢!这节省了我的时间。你是如何解决这个问题的?我检查了你的网站是否正在播放受限制的视频。我还尝试通过从iframe复制src来单独播放该视频,但它没有播放。你能提供solution@RaghavPatnecha在我的例子中,这个问题在我注册域名时就解决了,如果你尝试通过服务器的公共访问我的网站,它会给你限制视频错误。好的。谢谢你的帮助。但在我的例子中,我想将其用于桌面应用程序