facebook graph api..get朋友的朋友

时间:2011-04-17 04:07:18

标签: facebook facebook-graph-api facebook-fql facebook-friends social-network-friendship

我正在使用FB图表api获取我朋友的朋友列表:

https://graph.facebook.com/<id>/friends?access_token=<token>

现在奇怪的是,这适用于我的一些朋友而不适用于其他一些朋友。有人可以告诉我为什么会发生这种情况并找到可能的解决办法吗?

如果它不起作用,我会收到以下消息: “无法查找YYYYYY的所有朋友。 只能查找登录用户(XXXXX),或 具有相应权限的登录用户的朋友“

我再说一遍,我可以使用上述网址获取一些朋友的好友列表。 这里提到了哪些权限?

3 个答案:

答案 0 :(得分:11)

隐私权限。

作为用户,我控制谁可以看到我的朋友列表。如果我选择“仅限朋友”,那么只有我的朋友可以看到我的列表,而不是“朋友的朋友”

登录Facebook,右上角点击帐户 - &gt;隐私设置,  然后点击“在Facebook上连接”下的“查看设置”

“查看你的朋友列表”是控制它的原因。

编辑抱歉,不得不考虑一下。

可以通过标准的Facebook网络用户界面看到您朋友的朋友。你的应用不是你。即使您已授予应用对您帐户的访问权限,但您的朋友却没有。在这种情况下,除非他们将其设置为“Everyone”,否则您不会回复朋友的朋友。您的应用不是朋友的朋友。

我相信这就是原因。另一个原因可能是他们的API因为错误而闻名。您可以随时在http://bugs.developers.facebook.net/上打开错误报告,如果我的假设是正确的,有人会通知您。

答案 1 :(得分:8)

我有朋友的朋友(有限)。我有同样的问题。虽然回答问题已经很晚了,但它会对某些人有所帮助。这就是回答这个问题的原因。

我们可以吸引那些应用用户的朋友。 试试这个fql查询。

$ fb_id =朋友的朋友需要的用户ID。

$query="SELECT uid, name, work_history  FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $fb_id ) and is_app_user=1) )";
        $user_info=$facebook->api(array('method'=>'fql.query',
                    'query'=>$query));

答案 2 :(得分:1)

事实上。这都是http请求。但是如果我点击链接显示John的朋友,facebook就会列出它们,如果我使用图形api和令牌,它就不会。无论哪种方式,我都会问,但api是不一致的。