0

我曾经使用该方法来执行此操作,在该stream.publish方法中,我为我的 .swf 指定了源文件以及其他参数来呈现媒体,但现在已弃用。如何使用 Graph API 做到这一点?特别是 Facebook PHP SDK。

4

1 回答 1

2

使用 php sdk,您可以像这样发布它们:

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

您应该能够将link属性添加到组合中,但此时 facebook 的 api 中似乎存在一个错误,使得其中的帖子link阻止嵌入swf. 这样它将被嵌入,但结果帖子中的名称将指向swf不好的文件。与通过FB.ui发布的链接相同的值js sdk不会表现出此行为。

一种解决方法是使用正确的 opengraph 元标记创建链接,并将其发布为type => 'link'.

html 文件(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
));
于 2012-07-25T20:29:52.777 回答