使用FB Graph API获取用户朋友数据

时间:2011-11-22 20:52:28

标签: facebook-graph-api user-permissions

我正在尝试使用Graph API访问用户的朋友工作和教育历史记录。我在auth对话中包含了这两个权限。我尝试使用FQL访问它们但没有运气。

try{
        $fql    =   "select friends_education_history from permissions where uid=" . $user;
        $param  =   array(
            'method'    => 'fql.query',
            'query'     => $fql,
            'callback'  => ''
        );
        $fqlResult   =   $facebook->api($param);
    }
    catch(Exception $o){
        d($o);
    }
}

我更喜欢在不使用FQL的情况下访问信息,但此时,我需要找出任何方法。有没有办法做这样的事情:

 if($user_id) {
  try {
        $friends = $facebook->api("/me/friends");
    }
    catch(Exception $o){
        d($o);
    }
}
?>

然后调用相应的变量?

2 个答案:

答案 0 :(得分:0)

User graph api object包含字段educationwork

权限user_education_history&第一个friends_education_history& user_work_history需要friends_work_history。 {{1}}为第二个。

这些字段是可选的&用户可以通过她的个人资料页面限制他们的可见性,因此即使授予了权限,api也不会返回任何内容。

使用Graph api explorer进行游戏。

答案 1 :(得分:0)

您的FQL查询如下所示:

SELECT education,work from user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

以上查询将从登录用户的朋友那里获取所有教育和工作对象。

SELECT education,work from user WHERE uid = <YOUR FRIENDS USER ID>

以上查询将仅针对您提供的一个用户ID进行教育和工作

希望这有帮助!