所以我希望有人打电话帮助我解决这个问题因为我不太确定它的javascript,或者它的facebook。
这是我的情况。我升级到Facebook上的Requests 2.0,它不再让我能够将exclude_ids字段添加到用户将邀请他们的朋友加入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列表。弹出对话框,然后在friends_filter
中列出这些ID,并显示一条错误消息,指出“无法解析为有效的用户ID”
这是我感到困惑的地方,如果我复制并粘贴friends_filter
输出并将friends_filter
替换为ID列表,即999999999,999999999,999999999,999999999,
完全按照它出现,它的工作原理正确。
我知道这是一个详尽的帖子,我很抱歉,但我的智慧结束了。
我唯一能想到的是,我的javascript变量friends_filter
可能需要转换为某种类型吗?
有什么想法吗?
答案 0 :(得分:2)
我试过这段代码,这对我很有用
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);?> }],
答案 1 :(得分:1)
经过多次反复试验,我找到了解决方案。
在:
<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 echo周围的引号。
然后我改变了:
filters: [{name: 'Non-Added', user_ids: [friends_filter]}],
要:
filters: [{name: 'Non-Added', user_ids: friends_filter}],
答案 2 :(得分:0)
如果您想要排除添加该应用程序的(您的朋友),您只需使用:
filters: ['app_non_users']