我生成了一个登录URL,这很好用,但在我的情况下,电子邮件许可权是强制性的,所以我需要向用户解释并重新询问电子邮件许可权。重新询问Facebook权限PHP SDK 5.0
这里是我是如何生成的网址:
$fb = new Facebook\Facebook([
'app_id' => fbappid,
'app_secret' => fbappsecret,
'default_graph_version' => 'v2.2',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_birthday', 'user_location', 'user_hometown', 'user_relationships']; // Optional permissions
$loginUrl = $helper->getLoginUrl('http://localhost/urbanportal/wifilogin.php?origlink='.$_SESSION['origlink'].'&routerlink='.$_SESSION['routerlink'].'&siteid='.$_SESSION['siteid'], $permissions);
我读了你可以通过说你正在做一个重新请求像这样第三个参数:$loginUrl = $helper->getLoginUrl('http://localhost/urbanportal/wifilogin.php?origlink='.$_SESSION['origlink'].'&routerlink='.$_SESSION['routerlink'].'&siteid='.$_SESSION['siteid'], $permissions, true);
但我m得到“param app_id的长度必须小于或等于32” Facebook错误,也许是SDK 4.0的错误?
的文件似乎总是导航我:
FB.login(
function(response) {
console.log(response);
},
{
scope: 'user_likes',
auth_type: 'rerequest'
}
);
但对于Javascript SDK ...
工作,谢谢:)。不知道为什么他们不能在文档中提及...!我正在使用'filter_var($ fbemail,FILTER_VALIDATE_EMAIL)'来检查我收到的电子邮件是否是有效的电子邮件,因此没关系。 –