我已经找到了数以千计的解决方案,可以在Facebook墙上嵌入一个Flash播放器,其中大部分已经过时了,而且在FB最近发生的主要UI更改之后几乎没有发布任何内容。
话虽如此,我发现最简单且(理论上)仍然有效的方法是通过发布一个指向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
我想知道这是否是将我的网站放在某种白名单上的问题,但是我没有找到任何提及此类实际列表的最新文档 - 并且我的链接正常工作在旧的用户界面上,我相信我已经在这个名单上了。
还有另一种方法可以通过Graph API在墙上发布SWF文件,使用 source ,消息等对对象发出POST请求,但我发现这种方式并不那么有趣,因为我无法指定嵌入式播放器的宽度和高度,这对我的应用来说非常重要。
任何人都知道为什么会这样? Facebook是否已经决定不再允许用户发布SWF,或者这只是一个(希望是临时的)Facebook漏洞?有没有其他方法可以使这项工作(考虑到我必须定义嵌入式播放器的高度和宽度)?