我想找个随便的朋友。我在SO上找到了this个帖子,它看起来应该可行。 这是我的代码:
$config = array(
'appId' => APP_ID,
'secret' => SECRET,
'cookie' => true,
);
$facebook = new Facebook($config);
$params = array(
'method' => 'fql.query',
'query' => "SELECT uid, name, sex FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) order by rand() limit 1",
);
$result = $facebook->api($params);
echo print_r($result);
但我收到错误:
Fatal error: Uncaught Exception: 102: Requires user session thrown in /home/path/to/base_facebook.php on line 1050
问题出在哪里?我试图搜索可能的问题,但我没有太大成功......
答案 0 :(得分:2)
是的,正如Jason评论的那样,看起来你没有经过身份验证的用户。
由于您使用的是PHP SDK,因此解决此问题的最快方法如下:
$config = array(
'appId' => APP_ID,
'secret' => SECRET,
'cookie' => true,
);
$facebook = new Facebook($config);
// This will redirect the user to a login/authentication dialog.
if (!$facebook->getUser()) {
echo "<script>window.location = '".$facebook->getLoginUrl()."'</script>";
exit();
}
$params = array().. etc, the rest of your code
尽管缺乏最佳实践代码 - 这应该可以解决问题。