通过Facebook API发布在Facebook的饲料的SWF(posting a swf in

2019-07-30 15:15发布

我使用下面的阵列和

$feeddata = array(
                    'type'=>'flash',
                    'method'=>'stream.publish',
                    'display'=>'iframe',
          'link'=> 'https://developers.facebook.com/docs/reference/dialogs/',
          'source'=>'http://www.hackerdude.com/channels-test/swfscout_VideoSample.swf',
         'picture'=> 'http://fbrell.com/f8.jpg',
          'name'=> 'Facebook Dialogs',
          'caption'=> 'Reference Documentation',
          'description'=> 'Using Dialogs to interact with users.');

并把它传递给facebook-> API($的userid '/进料', 'POST',$了feeddata。); 但是,在饲料中我只能看到图像,当我在图像中单击它需要我的链接,我怎么能看到SWF在饲料中(最好在点击它应该切换到SWF的图片)

Answer 1:

type应该是“视频”,而不是“闪光”。 下面是产生在我的测试中可播放的视频参数数组:

array(
    'type'=>'video',
    'source'=>'http://www.hackerdude.com/channels-test/swfscout_VideoSample.swf',
    'picture'=> 'http://fbrell.com/f8.jpg',
    'name'=> 'Facebook Dialogs',
    'caption'=> 'Reference Documentation',
    'description'=> 'Using Dialogs to interact with users.',
);

需要注意的是有没有link属性,这是因为在我看来,Facebook的API已经在这个时刻,如果你提供一个链接,那么它不会嵌入视频的错误。

该错误理论由JS的SDK强化的确接受一个链接并产生可播放的视频,你可以迁移到这种方法用于发布如果feasable,像这样的参数:

FB.ui({
     method:'feed',
     type: 'video',
     name: 'Facebook Dialogs',
     link: 'https://developers.facebook.com/docs/reference/dialogs/',
     picture: 'http://fbrell.com/f8.jpg',
     caption: 'Reference Documentation',
     source: 'http://www.hackerdude.com/channels-test/swfscout_VideoSample.swf',
     description: 'Using Dialogs to interact with users.'
});

解决方法

嵌入似乎如果您发布有视频嵌入适当的opengraph meta标签的链接工作正常,这里是一个例子:

链接共享 (视频由YouTube赞助)

<html>
<head>
    <title>Fly, you fools!</title>
    <meta property="og:title" content="Fly, you fools!" />
    <meta property="og:type" content="website"/>
    <meta property="og:description" content="Content for Description" />
    <meta property="og:image" content="http://i2.ytimg.com/vi/meOCdyS7ORE/mqdefault.jpg" />
    <meta property="og:site_name" content="Content for caption"/>
    <meta property="og:video" content="http://www.youtube.com/v/meOCdyS7ORE?version=3&autohide=1">
    <meta property="og:video:type" content="application/x-shockwave-flash">
    <meta property="og:video:width" content="640">
    <meta property="og:video:height" content="360">
</head>
<body>
<script>
    window.location = 'http://disney.com'; // redirecting users who's clicking on the link, wont affect crawlers since its in js.
</script>
</body>
</html>

PHP SDK调用共享

$this->facebook->api('/me/feed', 'post', array(
    'type' => 'link',
    'link' => 'http://.../', // put the html file's location here
));


Answer 2:

写一个更满足标签: <meta property="og:video:secure_url" content="https://...game url.">

尝试把“https://开头”的游戏网址,即游戏SWF网址使用SSL,因为FB只需要SSL URL播放视频或SWF文件的游戏。

希望这将是有益的。



文章来源: posting a swf in facebook feed through facebook api