我遇到了一个关于 FB.login() 的奇怪的 Javascript 问题。实际上,我想使用 FB.login() 方法来检查用户是否授予了一些扩展权限,或者更好的是,获得一个 FB 对话框,提示用户在没有授予权限的情况下授予权限。
我使用的JS代码:
FB.login(function(response) {
if (response.authResponse) {
console.log(authResponse);
}
}, {scope: 'publish_actions'});
执行此操作时,Facebook 会显示一个叠加层,上面写着“在传递 access_token 时使用 SSL (https)”。
我用谷歌搜索了这条消息,但没有得到任何结果 ( seriously )。
这似乎只对具有"new"登录对话框的用户出现(首先要求用户访问公共(public)个人资料和好友列表,然后在一个可以跳过的新对话框中,它要求扩展权限)。对于仍然使用旧登录对话框的用户,它可以正常工作。
应用程序是沙盒的,我在没有 SSL 的情况下浏览 FB。我无法切换到 SSL,因为我正在开发的服务器不支持它。我不能改变它,它也不是真正解决这个问题的方法。并且:我从来没有因为非 SSL 应用程序托管而遇到麻烦。这是我第一次遇到 FB 以这种方式提示缺少 SSL。
我还确保 FB 的 all.js 是从 https://url 中获取的,不幸的是,这并没有改变任何东西。
想法,有人吗?由于 0 谷歌结果,恐怕这不是一个真正已知的问题,或者它太愚蠢了,没有人曾经写过它......:D
感谢您的帮助!
最佳答案
有一个错误报告,它被分配了高优先级(在写这个答案的时候):看看这里:
https://developers.facebook.com/bugs/416916061737216?browse=search_515d67216f3885909623600
关于facebook - FB.login() 后错误 "Use SSL (https) when passing an access_token",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809835/