我已经找到了数以千计的在 Facebook 墙上嵌入 Flash 播放器的解决方案,其中大多数已经过时,并且在 FB 最近进行的主要 UI 更改之后几乎没有发布任何内容。
话虽如此,我发现的最简单且(理论上)仍然有效的方法是发布一个指向 HTML 的链接,该 HTML 呈现 FB 将读取和解释的 Open Graph 标签,如下所示:
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>My title!</title>
<meta property="og:title" content="My title!">
<meta property="og:type" content="video.movie">
<meta property="og:url" content="http://mysite.com/url/">
<meta property="og:description" content="content description">
<meta property="og:image" content="http://mysite.com/URL_THUMBNAIL.jpeg">
<meta property="og:site_name" content="mysite.com">
<meta property="og:video" content="http://mysite.com/flash.swf?flashVar=0101">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="300">
<meta property="og:video:height" content="200">
重要的是要注意flashVar对于我正在使用的应用程序类型是必需的,我不认为这是问题,因为当我使用 Facebook 的对象调试器 (developers.facebook .com/tools/debug/)。
此外,最有趣的问题是,当我使用仍然使用旧 Facebook 界面(没有图形搜索)的帐户发布链接时,此解决方案实际上有效- 将出现一个小的“播放”按钮 [如下链接所示]缩略图,当我点击它时,SWF 开始在我的 Facebook 墙上播放。
http://das.ufsc.br/~alexandrec/SSoldFB.png
但是,当我尝试在我的 FB 帐户上发布相同的链接时(它已经有图表搜索和所有其他 UI 更改),这个播放按钮将不会出现 [如下所示],如果我尝试点击缩略图,将打开另一个窗口,其中指定的链接og:url
http://das.ufsc.br/~alexandrec/SSnewFB.png
我想知道这是否是让我的网站列入某种白名单的问题,但我还没有找到任何提及此类实际列表的最新文档 - 因为我的链接适用于旧UI 我相信我已经在那个名单上了。
还有另一种方法可以通过 Graph API 在墙上发布 SWF 文件,使用源、消息等发出对象的 POST 请求,但我发现这种方式不太有趣,因为我无法指定宽度和嵌入式播放器的高度,这对我的应用程序非常重要。
有谁知道为什么会这样?Facebook 是否决定不再允许用户发布 SWF,或者这只是(希望是暂时的)Facebook 错误?有没有其他方法可以完成这项工作(考虑到我需要定义嵌入式播放器的高度和宽度)?