Facebook Graph API共同的朋友

时间:2012-02-12 23:48:04

标签: php facebook facebook-graph-api

使用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时,它会为用户提供所有朋友。

任何人都知道这里发生了什么?感谢。

6 个答案:

答案 0 :(得分:1)

在上面的代码中,$ fb_id必须是当前的登录用户ID,或者必须是您的应用程序用户。 Facebook api不允许任何x-y-z用户的共同朋友加入你的应用程序。

fb explorer

中测试

或者,如果你有两个用户的朋友,你可以使用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);