我正在构建一项功能,允许用户在Facebook上发布到多个朋友的墙上。我正在使用FBML多朋友输入来让用户选择与之分享的任意数量的朋友。
我知道如何使用API发布到多个Facebook墙,但我需要多朋友输入中的用户ID。问题是输入是在Facebook iFrame中,所以我不能用javascript读取ID。
有谁知道如何解决这个问题?
答案 0 :(得分:0)
虽然这并没有真正回答这个问题,但如果你有时间我会考虑使用新的Graph API:
http://developers.facebook.com/docs/api
您只需几次API调用即可轻松获取所有朋友/或指定用户的朋友并发布到他们的墙上。
FB的新API让事情变得更容易。还有各种SDK可以帮助您的生活更轻松。 (PHP SDK:http://github.com/facebook/php-sdk/< - 我最喜欢的)
答案 1 :(得分:0)
首先:在FBML中制作应用程序是一个非常大的错误,因为没有更多的支持。 您可以使用其他更好的方式来选择朋友,比如自己轻松创建朋友选择器
P.S:我认为你不应该在多个朋友的墙上发布相同的内容(也许这是关于链接 - 不确定)
答案 2 :(得分:0)
尝试使用此代码从Facebook https://github.com/mbrevoort/jquery-facebook-multi-friend-selector
中查找朋友的ID这是发送朋友墙的例子。
<html>
<body>
<script type="text/javascript" src="jquery.min.js"></script>
<script>
FB.init({appId: "XXXXXXXXXXXXXXXX", status: true, cookie: true});
function friendWallPublish() {
var receivers = $("#friends").val();
var temp = new Array();
temp = receivers.split(',');
var count =temp.length;
for (var i = 0; i < count; i++) {
var publish = {
method: 'stream.publish',
message: 'test',
picture : 'http://www.takwing.idv.hk/facebook/demoapp_jssdk/img/logo.gif',
link : 'http://www.test.com',
name: 'test',
caption: 'Caption of the Post',
description: 'testttttt',
actions : { name : 'testing', link : 'http://www.takwing.idv.hk/tech/fb_dev/index.php'}
};
FB.api('/'+temp[i]+'/feed', 'post',publish, function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('success publishing: ' );
}
});
}
}
</script>
<input type="hidden" value="100001496800356, 1834782228" name="friends" id="friends">
<input type="submit" class="send" onclick="friendWallPublish(); return false;" value=""/>
</body>
</html>