如何在Facebook上与多个朋友分享内容?

时间:2010-08-30 21:21:14

标签: facebook fbml

我正在构建一项功能,允许用户在Facebook上发布到多个朋友的墙上。我正在使用FBML多朋友输入来让用户选择与之分享的任意数量的朋友。

我知道如何使用API​​发布到多个Facebook墙,但我需要多朋友输入中的用户ID。问题是输入是在Facebook iFrame中,所以我不能用javascript读取ID。

有谁知道如何解决这个问题?

3 个答案:

答案 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>