0

我有以下 PHP 代码,我打算将其用于我的网站。我还需要获取之前也使用我的 Facebook 应用登录我的网站的用户朋友的 Facebook ID。

我创建了一个应用程序,在“状态和评论”页面中,我可以看到电子邮件、public_profile 和 user_friends 权限。当我尝试仅使用“/me”发出请求时,我可以获得用户 ID 和名字、姓氏。所以它工作正常。但是当我尝试使用“/me/friends”时,下面的代码会返回一个空数组。虽然它对我来说不是很重要,但我也无法获得用户的电子邮件。

你们知道我如何获得这些信息吗?我究竟做错了什么?

提前致谢。

Facebook\FacebookSession::setDefaultApplication('MY_APP_ID', 'MY_APP_SECRET');
$facebook = new Facebook\FacebookRedirectLoginHelper('MY_REDIRECT_URL_HERE');
$session = $facebook->getSessionFromRedirect();
$session = new Facebook\FacebookSession($_SESSION['facebook']);
$request = new Facebook\FacebookRequest($session, 'GET', '/me/friends');
$response = $request->execute();
$graphObject = $response->getGraphObject();
4

1 回答 1

2

“状态和审查”选项卡中的权限只是意味着您不需要获得 Facebook 的批准,但您仍然需要在授权过程中请求它们。这就是“范围”参数的用途:https ://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/

顺便说一句,我不确定你是否知道,但你只能通过 /me/friends 获取授权你的应用程序的用户。因此,要么您没有使用 user_friends 权限正确授权用户,要么您没有任何朋友使用该应用程序。

于 2014-10-21T20:10:08.263 回答