我正在使用“facebook / php-sdk-v4”:“dev-master”。
这是我的代码。
$this->helper = new Facebook\Helpers\FacebookRedirectLoginHelper('http://localhost:8000/test2');
$this->helper->getLoginUrl(['scope'=>'user_about_me,user_groups'])
//test2 controller
session_start();
$session = $this->facebook->getSessionFromRedirect();
$request = new Facebook\FacebookRequest($session, 'GET', '/me/groups/');
$response = $request->execute();
$graphObject = $response->getGraphObject();
这是登录链接:
https://www.facebook.com/v2.0/dialog/oauth?client_id=335104339978143&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2Ftest2&state=0d09d4965509ccb3dc78f2fffc44c11e&sdk=php-sdk-4.1.0-wip&scope=user_about_me%2C+user_groups
当我使用我注册该应用程序的fb帐户时,我可以获取群组和登录弹出窗口的权限。但是当我使用其他Facebook帐户时,权限不会弹出,我也没有结果。
答案 0 :(得分:1)
您要求以不正确的方式获得其他权限。您需要使用Facebook PHP SDK v4.0.9执行以下操作:
// generate login url with scope, each permission as element in array
$loginUrl = $helper->getLoginUrl( array( 'email', 'user_friends' ) );
// output login link
echo '<a href="' . $loginUrl . '">Login</a>';