在这里,我正在使用facebook
它进行登录工作正常,但我无法获得登录用户email
,当时只有公共用户登录我无法收到电子邮件,但我收到了name
,我不知道我在哪里做错了就像我的代码或仪表板控制台
<input type="button" class="btn btn-lg btn-fb" value="Sign in using Facebook" onclick="checkFacebookLogin();"/>
<script>
window.fbAsyncInit = function() {
FB.init({appId: '1990039811315283', status: true, cookie: true, xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
function fetchUserDetail()
{
FB.api('/me', {fields: 'name,email'}, function(response) {
//console.log("Name: "+ response.name + "\Email: "+ response.email + "ID: "+response.id);
var userName = response.name;
var userEmail = response.email;
var profilePic = '1.png';
var registerFrom = 'Web';
var FCM_Token = '';
$.ajax({
url:'admin/rest/registerFB',
type:'POST',
data: {userName: userName, userEmail: userEmail, profilePic: profilePic, registerFrom: registerFrom, FCM_Token: FCM_Token},
success:function(loginResponse){
if(loginResponse['status']=='success'){
window.location.href = "index.php";
}
},
});
});
}
function checkFacebookLogin()
{
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
fetchUserDetail();
}
else
{
initiateFBLogin();
}
});
}
function initiateFBLogin()
{
FB.login(function(response) {
fetchUserDetail();
});
}
</script>
我收到类似 undefinedID 的错误
您需要在登录对话框中请求权限:
FB.login(function(response) {
fetchUserDetail();
}, {scope: 'email'});
顺便说一句,您正在尝试调用FB.login
的回调函数FB.getLoginStatus
,如果没有在用户交互中直接调用,浏览器通常会阻止弹出窗口。
更多信息:http : //www.devils-heaven.com/facebook-javascript-sdk-login/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句