0

我需要随机获取 50 个 Facebook 朋友并将结果分配给user_ids此函数中使用的变量sendRequestToRecipients()。我想要做的就像在这个例子中:

Stack Overflow 上的所有示例都不起作用,我需要一些帮助才能使此功能正常工作。

这是我的代码:

<body>
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>

      <input type="button"
        onclick="sendRequestToRecipients();return false;"
        value="Send Request to Users Directly"/>

    <input type="button"
      onclick="sendRequestViaMultiFriendSelector(); return false;"
      value="Send Request to Many Users with MFS"
    />
    </p>

    <script>
      FB.init({
        appId  : '398994226827517',
        status : true,
        oauth  : true,
        Xfbml  : true,
        cookie : true,
        frictionlessRequests : true
      });

   function sendRequestToRecipients() {
    var user_ids = document.getElementsByName("user_ids")[0].value;
    FB.ui({method: 'apprequests',
      message: 'sample message',
       to: 'user_ids'
    }, requestCallback);
  }

  function sendRequestViaMultiFriendSelector() {
    FB.ui({method: 'apprequests',
      message: 'sample message'
    }, requestCallback);
  }

  function requestCallback(response) {
    // Handle callback here
  }

</script>
4

4 回答 4

2

批准的消息需要一些更改,如下所示

FB.api('/me/friends', function(friend) {
    var user_ids = [];
    $(friend.data).each(function(index, element) {
        user_ids.push(element.id);
    });
  FB.ui({method: 'apprequests',
    message: 'sample message'
    to: user_ids
  });
});
于 2014-04-02T10:25:13.817 回答
0

如前所述,这对用户来说真的很烦人,因为他无法选择他的朋友。

如果你真的想这样做,这应该工作:

FB.api('/me/friends', function(friend) {
  FB.ui({method: 'apprequests',
    message: 'Random Friends',
    to: 'friend[0].id,friend[1].id,friend[2].id'
  }, requestCallback);
});

它将选择前 3 个朋友(不是随机的,但更好)。

于 2012-08-27T14:52:03.143 回答
0

为什么有人想邀请随机朋友加入应用程序?如果您这样做,您的应用程序可能会因垃圾邮件而迅速关闭。让用户选择他们想邀请谁加入应用程序,不要试图强迫他们向可能对应用程序不感兴趣的随机朋友发送垃圾邮件。

如果您真的必须这样做,您可以根据请求对话框文档预先填写“to”参数,其中包含您希望应用程序用户向其发送请求的用户的 uid,文档中的示例是:

function sendRequestToRecipients() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request',
    to: '499802820,499802852'
  }, requestCallback);
}
于 2012-08-20T18:18:12.110 回答
-1

PHP:

<?php 
 $fql = "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) order by rand() limit 20";

 $response = $facebook->api(array(
     'method' => 'fql.query',
     'query' =>$fql,
 ));
 $c="";
 $ids = "";
 foreach ($response as $key => $value) {
   $ids .= $c.$value['uid'];
   =',';
 } ?> 

JavaScript:

FB.ui({
    method       : 'apprequests',
    title        : '<?php echo $app->title;?>',
    message      : "<?php echo $app->img_description;?>",
    to: "<?php echo $ids;?>"
}, function (data) {});
于 2014-03-26T10:55:59.297 回答