如何在Java SDK中使用无摩擦请求功能随机获得50个facebook好友并发送我的应用程序邀请?

如何在Java SDK中使用无摩擦请求功能随机获得50个facebook好友并发送我的应用程序邀请?,facebook,facebook-graph-api,facebook-javascript-sdk,facebook-php-sdk,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Facebook Php Sdk,我需要随机获得50个Facebook好友,并将结果分配给此函数中使用的变量user\u idsendRequestToRecipients()。在这个例子中,我想做的是: 所有关于堆栈溢出的例子都不起作用,我需要一些帮助来使这个函数起作用 这是我的密码: <body> <div id="fb-root"></div> <script src="http://connect.facebook.net/en_US/all.js">&l

我需要随机获得50个Facebook好友,并将结果分配给此函数中使用的变量
user\u id
sendRequestToRecipients()
。在这个例子中,我想做的是:

所有关于堆栈溢出的例子都不起作用,我需要一些帮助来使这个函数起作用

这是我的密码:

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

FB.init({ appId:'398994226827517', 状态:正确, 真的, Xfbml:是的, 曲奇:是的, 无摩擦要求:正确 }); 函数sendRequestToRecipients(){ var user_id=document.getElementsByName(“user_id”)[0]。值; ui({method:'apprequests', 消息:“示例消息”, 收件人:'用户\u ID' },请求回调); } 函数sendRequestViaMultiFriendSelector(){ ui({method:'apprequests', 消息:“示例消息” },请求回调); } 函数requestCallback(响应){ //在这里处理回调 }
为什么有人想邀请随机好友加入应用程序?如果您这样做,您的应用程序可能会因垃圾邮件而迅速关闭。让用户选择他们想邀请谁加入应用程序,不要试图强迫他们向可能对应用程序不感兴趣的随机好友发送垃圾邮件

如果您确实必须这样做,您可以根据“预填充”参数,使用您希望应用程序的用户向其发送请求的用户的UID,文档中的示例如下:

function sendRequestToRecipients() {
  FB.ui({method: 'apprequests',
    message: 'My Great Request',
    to: '499802820,499802852'
  }, requestCallback);
}

正如前面提到的,这对用户来说真的很烦人,因为他不能选择他的朋友

如果你真的想这样做,这应该是可行的:

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个朋友(不是随机的,但更好)。

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({
方法:“apprequests”,
标题:“”,
消息:“”,
致:“”
},函数(数据){});

批准的消息需要进行如下更改

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
  });
});

我看到很多这样的应用程序运行了很长时间,我知道这有点垃圾,但从长远来看,Igy不是一个好的解决方案。thanksFacebook更新了其平台策略,因此应用程序可能不会提供全选选项或预选多个收件人来接收请求。Facebook将从2014年1月8日起取消对请求的“全选”或“预选”功能。