如何发布带有2张图片的墙贴

时间:2011-06-23 03:06:40

标签: facebook facebook-graph-api

我正在创建一个小应用程序,人们可以在其中比较他和朋友的不同照片。

该应用程序很简单,我没有问题。当用户试图在他们的墙上发布时,问题就出现了。我希望帖子类似于:

enter image description here

我知道这样做:

$parameters = array('message' => 'this is my message',
                    'name' => 'Name of the app',
                    'caption' => "Caption of the Post",
                    'link' => 'http://www.link.com',
                    'description' => 'description',
                    'picture' => 'http://mysite.com/pic.gif');

$result = $facebook->api('/user_id/feed/', 'post', $parameters );

您可以在墙上发帖,但这会将应用仅限制为一张图片,我希望用户能够发布两张不同的照片。

有没有办法发布图片中的帖子?


编辑:

添加了一张图片,可以更好地解释我想要的内容。

enter image description here

3 个答案:

答案 0 :(得分:4)

没有深入了解Facebook API(因为我从未见过FB应用发布两张照片,我猜这是不可能的 - 我看到的大多数应用都是垃圾邮件,如允许的那样......),我可能首先在服务器端使用PHP和ImageMagick类等动态合成两个图像(并做我想做的任何叠加)。

然后,只需向Facebook提供执行合成的PHP脚本的URL,例如

$parameters = array('message' => 'this is my message',
                    'name' => 'Name of the app',
                    'caption' => "Caption of the Post",
                    'link' => 'http://www.link.com',
                    'description' => 'description',
                    'picture' => 'http://mysite.com/pic.php?pic1_id=1234&pic2_id=2345&favorite=pic1');

$result = $facebook->api('/user_id/feed/', 'post', $parameters );

当然,我不知道Facebook将采用墙贴发布图片会采取什么样的维度 - 这可能不足以让它发挥作用。我试试看,但是......

答案 1 :(得分:2)

Facebook刚刚在帖子中删除了多张图片。当你能够做到这一点时,人们正在制作由多张图片并排组成的“横幅”。现在只有1张图片显示在任何墙贴上。您可以发布更多图片,但默认情况下他们不会确定。 Facebook将添加“更多”链接,尽管他们也可能已经废除了这一点。

答案 2 :(得分:1)

至少在使用Facebook.streamPublish的Javascript中,作为第二个参数,您可以提供可能包含媒体数组的附件对象。以下是我的应用Japan Name中的相关内容:

var media = [];
for (var i = 1; i < syls.length; i++) {
    media.push({
        'type' : 'image',
        'src' : 'http://youarecu.appspot.com/chars/' + syls[i] + '.png',
        'href' : streamhref
    });
}

...

var attachment = {
    'href':'http://apps.facebook.com/youarecute/?from_wall=true&postid=f'+uid+'{{postid}}',
    'name':linkedtxt,
    'description':txt,
    'media':media
};

...

Facebook.streamPublish("", attachment, ...