我正在使用 JavaScript SDK 将 FB 登录嵌入到我的网络应用程序中。
我已经在开发者控制台中设置了我的应用程序权限,要求用户与我分享他们的电子邮件地址,但弹出的登录窗口并没有反映出这一点......相反,它在初始登录时一直对用户说:
“(应用名称)将收到以下信息:您的公开个人资料和好友列表。”
...而它也应该说“电子邮件”。我尝试添加无数其他“扩展权限”作为测试,但这些也没有出现。
我已经尝试删除 FB 应用程序并创建一个新应用程序,这样就没有缓存了……我在请求之间等待了“几天”,以确保事情已经传播到所有 FB 服务器(他们说可能需要“几分钟”)。
难道我做错了什么?Javascript SDK 登录是否需要特殊设置才能拉取正确的权限列表?
还有其他人遇到这个吗?
=================
已回答/已更新
弄清楚了。
我在 FB.api 调用中已经有了“电子邮件范围”:
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me?scope=email', function(response) {
console.log('Good to see you, ' + response.name + '.');
});
...但是缺少的是按钮本身的“范围”...如果您不这样做,那么它就不起作用。
就我而言,工作登录按钮:
<fb:login-button size="medium" show-faces="false" scope="email" onlogin="Log.info('onlogin callback')">
Facebook
</fb:login-button>