我在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)”。
我用Google搜索了这条消息,并没有得到一个结果(seriously)。
这似乎只对具有“新”登录对话框的用户显示(首先要求用户访问公共个人资料和朋友列表的对话框,然后在新的对话框中,可以跳过该对话框,要求延长权限)。对于仍然具有旧登录对话框的用户,它可以正常工作。
该应用程序是沙盒,我正在浏览没有SSL的FB。我无法切换到SSL,因为我正在开发的服务器不支持它。我不能改变它,它也不会真正解决这个问题。而且:我从来没有因为非SSL应用托管而遇到麻烦。这是我第一次遇到FB抱怨丢失SSL。
我还确保FB的all.js是从https:// url获取的,遗憾的是没有改变任何内容。
想法,有人吗?由于谷歌的结果为0,我担心这不是一个已知的问题,或者它是如此愚蠢没有人曾经写过它......:D
感谢您的帮助!
答案 0 :(得分:1)
有一个错误报告,分配了高prio(在写这个答案时):看看这里:
https://developers.facebook.com/bugs/416916061737216?browse=search_515d67216f3885909623600