【问题标题】:Cannot play embedded videos on facebook wall unless SSL is disabled除非禁用 SSL,否则无法在 Facebook 墙上播放嵌入的视频
【发布时间】:2012-01-11 21:28:59
【问题描述】:

我正在尝试在 Facebook 墙上嵌入(非 You Tube)视频,这样当用户点击它们时,视频就会在墙上播放。发生的事情是:如果用户未登录或禁用 SSL,它可以工作。但是,如果他们使用“https:”方案安全地访问该页面,或者如果他们启用了 SSL 登录,则当他们点击视频时,会启动一个新标签页,其中包含视频所在页面的地址。

我研究过这个问题。我有两个解决方案,更新页面上的 OpenGraph 元数据并提供启用 SSL 的页面版本。我尝试添加 og 元数据 - 最初我尝试添加以下内容:

<meta property="og:video" content="http://example.com/awesome.swf" />
<meta property="og:video:height" content="640" />
<meta property="og:video:width" content="385" />
<meta property="og:video:type" content="application/x-shockwave-flash" />

这不起作用,facebook 调试器抱怨缺少一些元数据标签,所以我添加了这些(类型、url 等)。现在,当我通过调试器运行它时,我没有收到任何警告,它现在报告:

当此 URL 在 facebook 上共享时,它被视为某种类型。通过在此页面上放置元标记,您可以影响它的共享方式。 视频 状态 启用 Facebook 上的视频嵌入

我被阻止继续。在我的老板回来之前,我可以对 SSL 做任何事情,但是,考虑到禁用 SSL 时视频可以正常工作,我不明白这有什么关系。

【问题讨论】:

    标签: facebook video facebook-graph-api video-streaming


    【解决方案1】:

    您需要添加一个元标记,详细说明您的视频的安全 URL 所在的位置:

    <meta property="og:video:secure_url" content="https://some/awesome.swf" />
    

    请参阅https://developers.facebook.com/docs/opengraph/ 了解更多信息。

    【讨论】:

    • 好吧,我怀疑。但是,我查看了通过 youtube 和 vimeo 嵌入的一些视频的元数据,它们都没有任何元数据表明他们正在建立安全连接。另一方面,混响确实在 og:video 属性的值中使用了“https:”方案。
    • 对于一些非常大的网站(如 youtube 和 vimeo),我们会自动计算出安全版本 swf 的 URL。对于其他所有人,您必须明确告诉我们在哪里寻找。我有点惊讶,只是在 og:video 标签中放置一个安全的 URL 是行不通的(即根本没有不安全的 URL),但我不记得它到底是如何工作的。如果您无法使用 og:video:secure_url 在此处使用您正在努力使用的 URL 进行评论,我可以进一步查看。我为安全视频嵌入编写了大部分代码,所以在我们之间,我相信我们可以破解它! :)
    • 谢谢@mrtom,这就是我的想法。我还查看了来自 facebook 调用“embed_inline.php”(或类似的东西)的响应数据,当我单击墙上的 youtube 视频的图像链接时启动该响应数据。在其中,我看到 youtube.com 上 swf 的 url 是安全的“https:”。
    【解决方案2】:

    请注意,经过一些测试,嵌入墙内播放的 facebook 的最新行为是 og:video 和 og:video:secure_url 都必须是 https,或者如果只有 og:video,则必须是 https 而不是 http。

    【讨论】:

      猜你喜欢
      • 2011-12-01
      • 2021-08-20
      • 1970-01-01
      • 2011-07-14
      • 2011-05-08
      • 2013-01-12
      • 2012-08-25
      • 2012-02-25
      • 1970-01-01
      相关资源
      最近更新 更多