0

我有一个 facebook 应用程序,用户在其中选择 4 个朋友,然后它创建一个视频 (swf),其中包含您朋友的图片(通过 xml 加载)。所以我需要在用户时间轴上分享这个视频。一切正常,但视频没有嵌入到他时间轴上的帖子中,只有一个帖子,其中包含指向页面的链接。

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

这是我在 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);
  }

以及我的 share-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>
4

2 回答 2

0

找到它,在你必须添加的javascript中

source: 'https://mysite.com/flash/app.swf'
于 2012-04-05T13:49:25.420 回答
0

不适合我。facebook还说,它不应该按设计工作。

https://developers.facebook.com/bugs/589975484398226?browse=external_tasks_search_results_526fc388b99e18881434478

如果您可以使其工作,请在此处分享您的代码片段。我也有处理安全视频 URL 的元标记。

于 2014-04-26T04:47:26.673 回答