使用Facebook API获取用户的朋友

时间:2014-10-16 14:34:07

标签: facebook facebook-graph-api

我在抓取用户的朋友方面遇到了问题。当“我”作为UID传递时,以下代码正常工作。但是当像523621551那样传递用户id时它不起作用。每个东西都在权限中设置。我得到“不支持的操作”错误。以下是代码。

public function getAllFriends($uid) {
        return $this->fb->api("/" . $uid . "/friends", 'GET', array(
                    'access_token' => $this->fb->getAccessToken())
        );
}

那么,是什么导致了这个问题呢? 我也研究了其他相关问题,但那些没有帮助。 :(

1 个答案:

答案 0 :(得分:3)

您无法获得任何用户的朋友,您只能获得目前获得授权的用户的朋友。文档有点误导,它可能只适用于授权用户的(app范围)用户ID,但它永远不会与任何其他用户ID一起使用 - 该请求“不受支持”;)

此外,您也只能获得授权相同应用的用户,以防万一您还不知道。请参阅changelog:https://developers.facebook.com/docs/apps/changelog


编辑:我刚刚在API资源管理器中使用App Scoped ID对其进行了测试,但它确实有效,因此我假设您正在尝试按照我的预期获取其他用户的朋友 - 这是不受支持的当然。

我还使用授权用户的“真实”ID对其进行了测试,并出现以下错误:

  

不允许使用全局ID 1603196280。请使用该应用程序   而不是特定的ID。

有道理,你不会在应用程序中获得全局ID,只有App Scoped ID。正如我所说,你得到的错误不是很清楚但是正确:获取任何用户的朋友是“不受支持的”。