2013-08-23 53 views
0

FB.login()不起作用。 FB Popup没有请求正确的权限。我可以清楚地看到,在源代码中有一个fn处理程序使用正确设置的正确参数/参数。我想了解为什么这不起作用?Angular + Facebook JS SDK登录:不请求我的权限

这是迄今为止我已经得到了代码:

http://jsbin.com/IteY/1/

这是我设置的权限列表:

facebook.login(function(response) { 
    console.log(response); 
}, {scope: 'email,user_likes'}); 

按照文档(https://developers.facebook.com/docs/reference/javascript/FB.login/)我得到了fn函数(response){...}和{scope:'email,user_li kes'}

我发现其他一些用户在SO中使用FB SDK报告相同的问题。我尝试了使用“perms”而不是“scope”的提示,但是我得到:

OAuth2规范声明'perms'现在应该被称为'范围'。请更新。

  • 没有出现问题。这也表明该参数正在发送到那里。想知道为什么不工作?!我也清理过缓存

  • 本来我报告过这个问题(AngularJS: DI Error - No module: $facebook, why isn't working?),这个问题已经解决了。现在有权访问FB对象,我无法从用户那里获得正确的权限。我敢肯定,这是和

****我也尝试用.API等以检查权限与Facebook API相关的问题不是角模块:

facebook.api('/me/permissions', function (response) { 
    console.log(response); 
}); 

的console.log报道:

对象{错误:对象}

*****现在我已经尝试使用过的access_token图形访问:

https://graph.facebook.com/me/permissions?access_token=XXXXXXXX

我可以看到正确的权限,但是Facebook登录弹出窗口却从来没问过我这些吗? 不应该吗?

{ 
    "data": [ 
     { 
      "installed": 1, 
      "basic_info": 1, 
      "email": 1, 
      "read_friendlists": 1, 
      "user_likes": 1, 
      "user_online_presence": 1, 
      "user_friends": 1 
     } 
    ], 
    "paging": { 
     "next": "xxxxxxx" 
    } 
    } 

我现在问一个不同的用户,谁我已经添加到我的沙箱作为管理员,他得到了所需的权限弹出!所以,我认为是可以做的事情,用我自己的用户名拥有这个权限已经设置或什么 - 即使我试图删除缓存等!

所以,没有问题需要解决。希望这对未来的其他人有用!

任何一个有经验的人都可以看看?

谢谢

+0

你必须有已经认证该应用程序。尝试从Facebook配置文件中的应用程序设置中删除应用程序,并查询是否要求授予权限。 –

回答

0

尝试连接一个监听器,Facebook的登录事件/ statuschange:

$facebookProvider.Event.subscribe('auth.authResponseChange', function (response) { 
    console.log(response); 
}) 

,并期待在响应元素,看看是否有错误或不