我正在创建一个小应用程序,人们可以在其中比较他和朋友的不同照片。
该应用程序很简单,我没有问题。当用户试图在他们的墙上发布时,问题就出现了。我希望帖子类似于:
我知道这样做:
$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 );
您可以在墙上发帖,但这会将应用仅限制为一张图片,我希望用户能够发布两张不同的照片。
有没有办法发布图片中的帖子?
编辑:
添加了一张图片,可以更好地解释我想要的内容。
答案 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)
答案 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, ...