我正在尝试检索用户登录我的网络应用程序的电子邮件;这是我的代码:
FB.api('/me', function(response) {
console.log(response.name + ', ' + response.email);
});
用户名是正确的,但电子邮件结果为
未定义
我哪里错了?
https://developers.facebook.com/docs/reference/javascript/FB.login/v3.2
在登录过程中要求获得email
权限:
FB.login((response) => {
// handle the response
}, {scope: 'email'});
此外,您需要询问您想要的字段:
FB.api('/me', {fields: 'name,email'}, (response) => {
console.log(response.name + ', ' + response.email);
});
确保用户甚至有电子邮件,这不是必需的。并确保在登录弹出窗口中确实要求您获得email
权限。
旁注:我只会使用console.log(response)
,因此您可以看到整个对象而不是一些undefined
值。