我使用Facebook Javascript SDK将用户登录到我的网站。这有效,我可以在登录时请求权限。
但是,根据Facebook的建议,我只想在登录时请求最基本的权限,然后在需要时请求额外的权限,因为并非所有用户都需要例如发布权限。
我的问题是如何申请其他权限?请求在文档中看到的权限的唯一方法是在登录时执行此操作。 This post建议您再次致电FB.login()
:
FB.login(function(response) {
// ...do some stuff
}, {
scope: ['publish_actions']
});
...但这样做会给我一个错误:FB.login() called when user is already connected
。关于该主题的大多数其他帖子只是说在登录时请求所有权限 - 但这违背了FB自己的建议。
规划您的应用程序,在初次登录时请求最低限度的读取权限,然后在某人实际需要时获取任何发布权限
除了错误之外,调用FB.login()
确实似乎正常工作,但如果它明确地导致错误,那么肯定这不是正确的方法。我错过了什么吗?
答案 0 :(得分:11)
您没有以正确的方式使用它:
FB.login(function(response) {
// handle the response
}, {
scope: 'publish_actions,some_other_permission',
auth_type: 'rerequest'
});
它不是一个数组,只是一个字符串。你应该尝试使用auth_type参数。资料来源:https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.3#re-asking-declined-permissions