13

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

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

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

在它不起作用的情况下,我收到以下消息:“无法查找 YYYYYY 的所有朋友。只能查找登录用户 (XXXXX),或具有适当权限的登录用户的朋友”

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

4

3 回答 3

12

隐私权限。

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

登录facebook,在右上角点击Account -> Privacy settings,然后点击“Connecting on Facebook”下的“View Settings”

“查看你的朋友列表”是控制这个的。

编辑:对不起,不得不考虑一下。

可以通过标准的 Facebook Web UI 查看您朋友的朋友。你的应用不是你。即使您已授予应用程序访问您帐户的权限,但您的朋友却没有。在这种情况下,除非他们将其设置为“所有人”,否则您将无法找回您朋友的朋友。您的应用不是朋友的朋友。

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

于 2011-04-17T04:22:48.913 回答
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));
于 2012-02-25T12:18:59.010 回答
1

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

于 2011-07-15T23:26:59.247 回答