我正在使用js sdk通过我在facebook上创建的应用程序从我的网站向朋友墙发帖子。当我发布到单墙时,上面的代码进展顺利。问题我想同时在多个墙上发布相同的消息,而不显示弹出窗口或对话框。我知道必须通过循环完成,但无法使其正常工作。
我的代码是
var publish =
{
method: 'stream.publish',
// display: 'popup',
attachment:
{
name: 'name' ,
caption: 'www.caption.com' ,
description: ('description'),
href: 'url',
media: [
{
type: 'image',
href: 'url',
src: 'url'
}
]
}
};
publish.target_id =id1;
FB.ui(publish);
publish.target_id = id2;
FB.ui(publish);
return false;
}
任何形式的帮助都会被贬低。
感谢
答案 0 :(得分:1)
由于:http://developers.facebook.com/policy/
5. You must not provide users with the option to publish more than one Stream story at a time.
您应该避免在同一时间向多个墙发布相同的消息。
修改强>:
但如果你真的不想这样做: 您不应该使用用于Facebook Dialogs的Fb.ui()。
相反,您可以使用:
var body = 'Reading JS SDK documentation';
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
alert('Error occured');
} else {
alert('Post ID: ' + response.id);
}
});
所以,你只需循环你的UserID,并用user_id替换“我”。
答案 1 :(得分:0)
最后我使用此代码了解它:
function doitonfacebook(){
var receivers = document.getElementById("selected-friends").innerHTML;
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: ' );
}
});
}}
感谢您的回复