facebook多次发布到墙上

时间:2011-08-06 17:54:14

标签: php javascript facebook facebook-graph-api

我正在使用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;

        }

任何形式的帮助都会被贬低。

感谢

2 个答案:

答案 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: ' );
  }
});


        }}

感谢您的回复