Facebook请求2.0过滤器

Facebook请求2.0过滤器

问题描述:

所以我希望有人打电话来帮助我解决这个问题,因为我不太确定它的javascript,或者它的facebook。Facebook请求2.0过滤器

这是我的情况。我在Facebook上升级到Requests 2.0,这不再允许我将exclude_ids字段添加到用户将邀请其朋友加入App的表单中。这种形式的目的不是为了邀请朋友,而是为了在App中添加朋友。

总之,我有一个他们已经添加的朋友的列表,我想从他们的朋友的主列表中筛选出来,以便当他们想要使用该表格时,已添加的朋友不会显示出来。

这里是我的javascript来获得朋友:

<script language="Javascript" type="text/javascript">  
var friends_filter = '<?=$myClass->getFiltered());?>'; 
</script> 

将返回类似:

999999999,999999999,999999999,999999999,999999999,999999999,999999999 

这是他们还没有添加谁是他们的朋友的用户ID列表。

这里是我的表单代码:

function addUser() { 
    FB.ui(
    { 
     method: 'apprequests', 
     display: 'dialog', 
     title: 'Add friends', 
     message: 'Hey, I added you as a user/friend on such-and-such App', 
     data: 'added', 
     filters: [{name: 'Non-Added', user_ids: [friends_filter]}], 
    }, 
    function(response) { 
     if(response && response.request_ids) { 
      showLoading('Adding Relatives'); 
      var dataString = 'rids='+response.request_ids; 
      $.ajax({ 
       type: "GET", 
       url: server_url+"ajax/add_relative.php", 
       data: dataString, 
       success: function(data){ 
        window.location.reload(); 
       } 
      }); 
     } 
    } 
    ); 
} 

如果你看一下filters: [{name: 'Non-Added', user_ids: [friends_filter]}],线,那是我包括IDS,我只希望在选择器来查看列表。该对话框弹出,但随后列出这些ID在friends_filter和错误消息,指出“不能解析为一个有效的用户ID”

这是我感到困惑,如果我复制和粘贴什么friends_filter输出,并更换了friends_filter与ID列表,即999999999,999999999,999999999,999999999,完全一样,它的工作正常。

我知道这是一个详尽的帖子,我很抱歉,但我在我的智慧结束。

我唯一能想到的是,也许我的javascript变量friends_filter需要转换为某种类型的某种?

任何想法?

我试过这段代码,它对我很好用

 FB.ui(
      { 
      method: 'apprequests', 
      filters: ['app_non_users'], 
      message: 'msg here!', 
      title: 'title for box' 
      }, 
      function(response) { 
       alert(response.request_ids);//this is return after send invite 
      } 
     ); 

只是如果你想过滤结果与用户列表中使用

filters: [{name: 'Invite friends', user_ids: <?php echo json_encode($users_array);?> }], 

经过多次试验和错误,我想出了解决方案。

在:

<script language="Javascript" type="text/javascript">  
var friends_filter = '<?=$myClass->getFiltered());?>'; 
</script> 

我改

<script language="Javascript" type="text/javascript">  
var friends_filter = [<?=$myClass->getFiltered());?>]; 
</script> 

通过与括号的PHP回声更换引号。

然后,我改变:

filters: [{name: 'Non-Added', user_ids: [friends_filter]}], 

要:

filters: [{name: 'Non-Added', user_ids: friends_filter}], 

如果要排除那些(你的朋友)谁添加的应用程序,您只需使用:

filters: ['app_non_users'] 
+0

我不找那些谁没有添加该应用,但对于那些谁我在一定的功能已经添加。我在下面写了我的问题。 – ehftwelve 2011-03-17 21:14:42