获取Facebook好友列表

Getting facebook friends list

我创建了 link 的 facebook 登录,它请求一个访问令牌以允许访问朋友列表:

<a href="https://www.facebook.com/dialog/oauth?response_type=token&scope=user_friends...>Login</a>

在用户成功通过登录并接受这些权限并且我的应用程序存储了访问令牌后,我尝试通过以下方式获取他的好友列表:

https://graph.facebook.com/me/friends?access_token={ACCESS_TOKEN}

但我得到的只是:

{
   "data": [

   ],
   "summary": {
      "total_count": 245
   }
}

也许我应该在范围内请求其他内容?

谢谢!

$request = new FacebookRequest(
$session,
'GET',
'/me/friends'
);
$response = $request->execute();
$graphObject = $response->getGraphObject();

例如在 CodeIgniter 中我使用 fb 库,我得到这样的朋友列表:

public function get_user_friends() {
    if ( $this->session ) {
        try {
            $fr = new FacebookRequest( $this->session, 'GET', '/me/friends' );
            $request = $fr->execute();
            $user_friends = $request->getGraphObject()->asArray();

            return $user_friends;

        } catch(FacebookRequestException $e) {
            return false;

            /*echo "Exception occured, code: " . $e->getCode();
            echo " with message: " . $e->getMessage();*/
        }
    }
}

别忘了它有一些条件: 权限

需要具有 user_friends 权限的用户访问令牌才能查看当前人的好友。

这只会 return 任何使用过(通过 Facebook 登录)应用程序提出请求的朋友。

如果此人的朋友拒绝 user_friends 许可,则该朋友将不会出现在此人的朋友列表中。

更多关于:https://developers.facebook.com/docs/graph-api/reference/v2.2/user/friends