我想在用户Facebook时间线内发布swf文件,但似乎我错过了一些东西。只有图像显示,而不是swf文件。请帮助我在上所做的事情
var obj = {
method: 'feed',
link: 'share-page.php',
picture: 'uploads/pics/a.png',
source: 'assets/swf/preloader.swf',
name : 'name',
caption: 'Caption',
description: 'Description'
};
function callback(response) {
//some code here
}
FB.ui(obj, callback);
还有我的share-page.php文件
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-language" content="en">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- Open grah tags for Facebook -->
<meta property="og:title" content="Test video player" />
<meta property="og:description" content="A video player interface experiment." />
<meta property="og:type" content="video" />
<meta property="og:url" content="share-page.php"/>
<meta property="og:image" content="uploads/pics/a.png"/>
<meta property="og:video" content="assets/swf/preloader.swf" />
<meta property="og:video:secure_url" content="assets/swf/preloader.swf" /> <meta property="og:video:width" content="325" />
<meta property="og:video:height" content="180" />
<meta property="og:video:type" content="application/x-shockwave-flash" />
</html>
我希望能早点看到你的问题。。。
请参阅我对这个问题的回答,希望它能对您有所帮助。
你的主要问题是你只放了文件夹名称(资产和上传),甚至没有说明它们来自哪个网站/服务器。你需要一个完整的文件路径:
<meta property="og:url" content="http://www.yoursite.com/share-page.php"/>
<meta property="og:image" content="http://www.yoursite.com/uploads/pics/a.png" />
<meta property="og:video" content="http://www.yoursite.com/assets/swf/preloader.swf" />
<meta property="og:video:secure_url" content="HTTPS://www.yoursite.com/assets/swf/preloader.swf" />
基本上,你应该能够将完全相同的路径粘贴到一个新的浏览器选项卡中,并看到一个工作结果,否则它将无法在其他任何地方工作,包括Facebook。此外,您还需要"og:video"和"og:video:secure_url"标签中提到的SWF文件来自真正的HTTPS服务器,否则它将不会在您的时间轴帖子中运行(相反,它会打开链接的新选项卡)。
Only image is display
听起来像是一个幸运的错误!!很可能是因为你在墙上发布了一个指向html页面的链接?碰巧Facebook也会扫描这些链接以获取显示图像(这通常是随机的,但我想对你来说,显示的图片是唯一可以在那里找到的吗?)