facebook - Facebook 登录响应没有电子邮件和公共个人资料数据
问题描述
我有简单的登录按钮:
<div class="fb-login-button" data-width="234" data-max-rows="1" data-size="large" data-button-type="login_with" data-show-faces="false" data-auto-logout-link="false" data-use-continue-as="false" data-scope="public_profile,email" data-onlogin="system.onFacebookAuth()"></div>
和简单的回调:
system.onFacebookAuth = function() {
FB.getLoginStatus(function(response) {
console.log(response);
});
}
我正在尝试登录并且:
{…}
authResponse: {…}
accessToken: "..."
expiresIn: 3917
reauthorize_required_in: 7775999
signedRequest: "..."
userID: "90204760053877350"
<prototype>: Object { … }
status: "connected"
<prototype>: Object { … }
就这样。没有电子邮件,甚至没有公开的个人资料数据,例如用户名。你能解释一下有什么问题吗?
解决方案
您没有在代码中使用 API。FB.getLoginStatus
只需检查用户是否授权您的应用程序。这将是一个 API 调用:
FB.api('/me', {fields: 'email,name'}, (response) => {
console.log(response);
});
推荐阅读
- asp.net-mvc - 恶意实体在 asp.net 服务器上缓慢创建帐户
- javascript - 获取正则表达式的反义词
- angular - 如何使用 Service Worker 缓存所有页面
- ruby-on-rails - 验证失败:作业无效(Ruby on Rails)
- swt - 如何设置任务切换器图标文字?
- javascript - 何时开始删除视频元素以防止浏览器延迟?
- ruby - 如何在不创建该类的新实例的情况下从另一个类访问类实例变量
- amazon-web-services - 使用 ECS 部署和启动缓慢的任务,忽略 ALB 健康检查
- mobile - Appium 检查员无法检查 iOS 的元素
- python - 如何找到一个文件的平均值然后将其放入另一个文件