6

我对 apprequests 和 ['app_non_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 会显示所有朋友(甚至是那些已经在使用该应用程序的朋友)。有什么建议吗?

谢谢!

4

2 回答 2

0

我发现这对我有用:

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;
  }
于 2013-11-13T10:23:56.017 回答
0

利用

function(response) {  
    // callback function  
}

不是

function callback(response) {  
    // callback function  
}

或者像这样..

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

function inviteSent(response){
  log(response);     
}  
于 2013-05-06T15:30:28.297 回答