Facebook Graph API - 如何申请其他权限

时间:2015-05-28 15:19:53

标签: javascript facebook facebook-graph-api permissions

我使用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自己的建议。

  

规划您的应用程序,在初次登录时请求最低限度的读取权限,然后在某人实际需要时获取任何发布权限

From the FB Docs

除了错误之外,调用FB.login() 确实似乎正常工作,但如果它明确地导致错误,那么肯定这不是正确的方法。我错过了什么吗?

1 个答案:

答案 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