在我的网站上按“继续使用Facebook”后,我试图收到用户的电子邮件。我查看了Stackoverflow并通过Facebook Developer文档,看不出为什么我正在尝试的东西不起作用。
JAVASCRIPT
moment.tz(xlsxDate, "M/D/YYYY h:mm a", "America/New_York").tz("Africa/Accra")
** HTML **
window.fbAsyncInit = function() {
FB.init({
appId : '1882306058687148',
cookie : true,
xfbml : true,
version : 'v2.8'
});
FB.AppEvents.logPageView();
FB.getLoginStatus(function(response) {
statusChangeCallback(response);
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function checkLoginState() {
FB.getLoginStatus(function(response) {
console.log(response);
statusChangeCallback(response)
});
}
function statusChangeCallback(response) {
console.log('statusChangeCallback');
console.log(response);
if (response.status === 'connected') {
runAPI();
}
}
function runAPI() {
FB.api('/me', { locale: 'en_US', fields: 'name, email' }, function(response) {
console.log(response);
document.getElementById('name').value = response.name;
document.getElementById('email').value = response.email;
document.getElementById('fb-login').style.display = 'none'
});
}
最令我困惑的是, IS 将名称拉了过来,这肯定有效。
答案 0 :(得分:0)
如果用户在个人资料中设置了经过验证的电子邮件地址,您将只会收到一封电子邮件地址。
即使在那时,显然还有一些边缘情况,隐私设置仍然可以使其无法返回。当然,如果他们仅使用他们的手机注册,他们可能根本没有一套。如果您的应用需要和电子邮件地址,那么您应该实施一个额外的步骤,供用户手动输入一个。 (在这种情况下,验证也是您的责任。)