使用API登录Facebook
我使用下面的代码通过facebook登录,只是碰巧返回了名称,没有返回客户端登录时的电子邮件,他返回电子邮件的唯一时间是如果我在facebook上输入了创建应用程序的电子邮件和密码帐户使用API登录Facebook,facebook,api,login,Facebook,Api,Login,我使用下面的代码通过facebook登录,只是碰巧返回了名称,没有返回客户端登录时的电子邮件,他返回电子邮件的唯一时间是如果我在facebook上输入了创建应用程序的电子邮件和密码帐户 <script src="https://code.jquery.com/jquery-2.0.3.min.js"></script> <script src="https://connect.facebook.net/en_US/all.js"></script>
<script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script src="https://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId : 'XXXXXXXXXXXX',
status : true,
cookie : true,
xfbml : true
});
FB.Event.subscribe('auth.authResponseChange', function(response) {
if (response.status === 'connected') {
FB.api('/me?fields=id,name,email', function(response) {
alert('Name is: '+response.name+' Email is: '+response.email);
});
} else if (response.status === 'not_authorized') {
FB.login();
} else {
//$('#nome').html(null);
}
});
</script>
FB.init({
appId:'XXXXXXXXXX',
状态:正确,
曲奇:是的,
xfbml:对
});
FB.Event.subscribe('auth.authResponseChange',函数(响应){
如果(response.status===“已连接”){
api('/me?fields=id,name,email',函数(响应){
警报('名称为:'+response.Name+'电子邮件为:'+response.Email);
});
}else if(response.status===“未授权”){
FB.login();
}否则{
//$('#nome').html(空);
}
});
运行上述代码时警报()的结果
当我使用创建应用程序的帐户登录时
“姓名是:Anderson Nun…电子邮件是:免费。。。l@hotmail.com“
当我使用任何其他客户的任何电子邮件帐户登录时
“姓名是:姓名客户…电子邮件是:未定义”
据我所知,我需要比较数据库中的电子邮件,并在我的系统上登录会话,但facebook不会返回电子邮件客户端。如何继续?没错,我只是缺少登录按钮的权限。添加有效的标记“email”就足够了。在登录期间,您并没有要求获得阅读用户电子邮件的必要权限……但我该怎么做?当使用/me?fields=id、name、email请求实际数据时,我以为我是在请求许可。登录文档中清楚地描述了如何申请权限,请阅读。