2012-04-04 71 views
0

我有一个Facebook应用程序,用户在其中选择4个朋友,然后创建一个带有朋友图片的视频(swf)(通过xml加载)。所以我需要在用户时间线上分享这个视频。一切正常,但视频并未嵌入到他的时间轴上的帖子中,只有一个帖子与其中的页面链接。通过应用程序发布带参数到Facebook的swf

奇怪的是,如果我直接在我的时间线上发布网址,则嵌入视频,但如果通过应用程序发布相同的链接,则不会。

这里是我的代码通过共享按钮在JS调用:

function postToFeed() { 
    var obj = { 
     method: 'feed', 
     link: 'https://mysite.com/flash/share-page.php?id=22', 
     picture: 'https://mysite.com/images/video-preview.jpg', 
     name: 'Name', 
     caption: 'Caption', 
     description: 'Description' 
    }; 

    function callback(response) { 
     //some code here 
    } 

    FB.ui(obj, callback); 
    } 

,在我的股票page.php文件的代码

<?php 

$id_inscription = $_GET['id']; 

$video_url = 'https://mysite.com/flash/share-page.php?id=22'; 
$video_preview_image = 'https://mysite.com/images/video-preview.jpg'; 

?> 

<!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" /> 

<meta property="og:video" content="<?php echo $video_url; ?>"/> 

<!-- 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="<?php echo $video_url; ?>"/> 
<meta property="og:image" content="<?php echo $video_preview_image; ?>"/> 
<meta property="og:site_name" content="Site name"/> 

<!-- Video specific open graph tags --> 
<meta property="og:video" content="<?php echo $video_url; ?>" /> 
<meta property="og:video:secure_url" content="<?php echo $video_url; ?>" /> <!-- Required for people on Facebook who have secure browsing enabled! --> 
<meta property="og:video:width" content="325" /> 
<meta property="og:video:height" content="180" /> 
<meta property="og:video:type" content="application/x-shockwave-flash" /> 


<script src="js/swfobject.js"></script> 
<script> 
    var flashvars = { 
     xmlUrl:"xml/data-<?php echo $id_inscription; ?>.xml", 
     policyFileUrl:"http://profile.ak.fbcdn.net/crossdomain.xml" 
    }; 
    var params = { 
     menu: "false", 
     scale: "noScale", 
     allowFullscreen: "true", 
     allowScriptAccess: "always", 
     bgcolor: "", 
     wmode: "opaque" 
     //wmode: "direct" // can cause issues with FP settings & webcam 
    }; 
    var attributes = { 
     id:"content" 
    }; 
    swfobject.embedSWF(
     "app.swf", 
     "altContent", "480", "270", "10.0.0", 
     "expressInstall.swf", 
     flashvars, params, attributes); 
</script> 
</head> 

<body> 
<div id="altContent"> 
    <p><a href="http://www.adobe.com/go/getflashplayer">Get Adobe Flash player</a></p> 
</div> 
</body> 

</html> 

回答

0

发现,在JavaScript中你必须添加

source: 'https://mysite.com/flash/app.swf' 
相关问题