Facebook请求对话框和;应用程序“非用户”;过滤器不工作

Facebook请求对话框和;应用程序“非用户”;过滤器不工作,facebook,filter,apprequests,Facebook,Filter,Apprequests,我对apprequests和['app\u non\u users']过滤器有问题。代码: window.fbAsyncInit = function() { FB.init({appId: '123', status: true, cookie: true, xfbml: true}); } function sendRequestViaMultiFriendSelector() { FB.ui({ method: 'apprequests',

我对apprequests和['app\u non\u users']过滤器有问题。代码:

 window.fbAsyncInit = function() {
    FB.init({appId: '123', status: true, cookie: true, xfbml: true});
  }

  function sendRequestViaMultiFriendSelector() {
    FB.ui({
      method: 'apprequests',
      filters: ['app_non_users'],
      message: 'Hello there!'
    }, function callback(response) {
        if (response) {
            //do some stuff
        }
    });
  }
正如你可能猜到的,facebook会显示所有的朋友(甚至那些已经在使用该应用程序的朋友)。有什么建议吗

谢谢

使用

function(response) {  
    // callback function  
}
不是

或者像这样

FB.ui({method: 'apprequests',
 title: app_title,
 message:inviteMsg,
 data:"invite"   ,
 filters: ['app_non_users']
}, inviteSent);

function inviteSent(response){
  log(response);     
}  

我发现这对我很有用:

function sendRequest() {
    FB.ui({
      method: 'apprequests',
      message: 'Check out this application!',
      title: 'Send your friends an application request',
      filters: ['app_non_users']
    },
    function (response) {
        console.log(response);
      if (response.request && response.to) {
        var request_ids = [];
        for(i=0; i<response.to.length; i++) {
          var temp = response.request + '_' + response.to[i];
          request_ids.push(temp);
        }
        var requests = request_ids.join(',');
        $.post('<?=base_url()?>handle_requests',{uid: '<?php echo $user; ?>', request_ids: requests},function(resp) {
          // callback after storing the requests
        });
      } else {
        alert('canceled');
      }
    });
    return false;
  }
函数sendRequest(){
FB.ui({
方法:“apprequests”,
消息:“签出此应用程序!”,
标题:“向您的朋友发送申请”,
过滤器:[“应用程序非用户”]
},
功能(响应){
控制台日志(响应);
if(response.request&&response.to){
var请求_id=[];

对于(i=0;iCallback对过滤器和“应用程序非用户”没有影响。仍然是一样的。我曾经遇到过同样的问题,要解决它,您可能需要尝试使用多个过滤器。我的意思是,使用
过滤器:[“应用程序非用户”,“所有用户”]
不,仍然是一样的;/有人知道发生了什么吗?
function sendRequest() {
    FB.ui({
      method: 'apprequests',
      message: 'Check out this application!',
      title: 'Send your friends an application request',
      filters: ['app_non_users']
    },
    function (response) {
        console.log(response);
      if (response.request && response.to) {
        var request_ids = [];
        for(i=0; i<response.to.length; i++) {
          var temp = response.request + '_' + response.to[i];
          request_ids.push(temp);
        }
        var requests = request_ids.join(',');
        $.post('<?=base_url()?>handle_requests',{uid: '<?php echo $user; ?>', request_ids: requests},function(resp) {
          // callback after storing the requests
        });
      } else {
        alert('canceled');
      }
    });
    return false;
  }