Iframe 在Google Chrome扩展中播放一首货币化的YouTube歌曲。我有什么选择吗?

Iframe 在Google Chrome扩展中播放一首货币化的YouTube歌曲。我有什么选择吗?,iframe,google-chrome-extension,youtube,youtube-api,youtube-javascript-api,Iframe,Google Chrome Extension,Youtube,Youtube Api,Youtube Javascript Api,我在开发Google Chrome扩展时遇到了巨大的障碍。任何被货币化的YouTube歌曲(如有广告)都不会播放 这里记录了这一点: 以及这里: 此前,我一直在使用YouTube的Flash API。在我尝试部署我的扩展之前,这种方法非常有效。在这一点上,我遇到了巨大的安全问题,由于权限不足,应用程序被锁定。因此,我重写了播放器以使用iframeapi而不是flashapi iFrame API允许我在没有任何Flash安全问题的情况下成功部署,但现在我无法播放任何带有广告的歌曲 有人知道这方

我在开发Google Chrome扩展时遇到了巨大的障碍。任何被货币化的YouTube歌曲(如有广告)都不会播放

这里记录了这一点:

以及这里:

此前,我一直在使用YouTube的Flash API。在我尝试部署我的扩展之前,这种方法非常有效。在这一点上,我遇到了巨大的安全问题,由于权限不足,应用程序被锁定。因此,我重写了播放器以使用iframeapi而不是flashapi

iFrame API允许我在没有任何Flash安全问题的情况下成功部署,但现在我无法播放任何带有广告的歌曲

有人知道这方面的工作吗

编辑:

我的分机可以在这里下载:

扩展的来源可以在这里看到:

例如,这首歌对我来说非常合适:

但是,这首歌在播放时会抛出一个错误:


请注意,第二首歌已被货币化。

首先,我初始化了播放器并加载了视频:

如您所见,播放器拒绝嵌入视频,因为播放器太小。因此,我更改了播放器的大小,并再次尝试:

视频开始播放。我在一个扩展中测试了相同的代码,问题也消失了

因此,创建虚拟帧,如下所示:

<iframe
    width="640"
    height="390"
    src="http://www.youtube.com/embed/dummy?enablejsapi=1"
></iframe>

更多调试信息:

  • 在前面的屏幕截图中,
    http://localhost:8000/
    是chrome扩展的根目录。我使用了
    python-msimplehttpserver
    来创建服务器
  • 我截获了框架和页面之间的消息,发现抛出了错误代码150。根据,这“与101相同”,并且“当请求的视频不允许在嵌入式播放器中播放时,广播101错误代码。”

有演示吗?这个问题是针对Chrome扩展的吗?我在一个扩展的工作演示中编辑了一些没有/没有这个问题的歌曲,将我当前的源代码推到GitHub。我相信其他人不会遇到这个问题,因为他们使用的是AS3API而不是iFrame API。根据youtube文档,据说AS2有一个限制。我假设限制也扩展到了iFrame。想知道是否有解决办法,或者可能回到尝试解决如何在我的扩展中运行flash的安全问题上?嘎。教我你的方法。我想问题可能是这样的。我的想法是将参数传递给YTPlayer,但后来我了解到YTPlayer的默认维度大于200x200。因此,我继续讨论其他问题,认为这与尺寸无关。我甚至不认为可以查看背景页…但你已经展示了如何做到这一点。我对你为我调试这个的能力感到沮丧和敬畏。非常感谢。我显然还有很多东西要学。