使用Facebook图形API,我正在尝试检索2个用户拥有的共同朋友的数量。但是,我得到了其中一个朋友的数量。
这是我的代码:
<?php
$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$fb_id."/mutualfriends/".$other_fb_id."?".$access_token), true);
$mutual_friends = $mutual_array['data'];
$mutual_number = count($mutual_friends);
?>
$ mutual_number给出了朋友$ other_fb_id用户拥有的数量。当我尝试print_r $ mutual_friends时,它会为用户提供所有朋友。
任何人都知道这里发生了什么?感谢。
答案 0 :(得分:1)
在上面的代码中,$ fb_id必须是当前的登录用户ID,或者必须是您的应用程序用户。 Facebook api不允许任何x-y-z用户的共同朋友加入你的应用程序。
中测试或者,如果你有两个用户的朋友,你可以使用PHP的array_intersect函数来获取来自两个朋友阵列的常见ID。
$result = array_intersect($user1_friends_array, $user2_friends_array);
print_r($result);
答案 1 :(得分:1)
答案很简单。你唯一要做的就是改变你的facebook id和朋友的facebook id的顺序:
$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$other_fb_id."/mutualfriends/".$fb_id."?".$access_token), true);
答案 2 :(得分:0)
听起来你的用户ID都是一样的。你是100%肯定他们不是吗?
答案 3 :(得分:0)
这是一个facebook api错误。即使信息是对称的,为了获得共同朋友的数量,您必须使用当前用户(用户a)的访问令牌,而不是您正在检查的其他用户。
答案 4 :(得分:0)
使用图表api,请求:
我/ mutualfriends?用户= SOME_USER_ID
如果您和SOME_USER_ID有共同的朋友,则会获得朋友列表。
答案 5 :(得分:0)
你忘记了access_token=
param:
$mutual_array = json_decode(file_get_contents("https://graph.facebook.com/".$other_fb_id."/mutualfriends/".$fb_id."?access_token=".$access_token), true);