【问题标题】:Getting facebook friends list获取facebook好友列表
【发布时间】:2015-03-16 07:42:54
【问题描述】:

我创建了 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
   }
}

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

谢谢!

【问题讨论】:

    标签: facebook facebook-graph-api


    【解决方案1】:
    $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 权限的用户访问令牌。

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

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

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

    【讨论】:

    • 我明白了,有没有什么方法可以在没有朋友登录应用的情况下获取用户的朋友列表?
    • 不,您只能结交正在使用该应用的朋友
    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    相关资源
    最近更新 更多