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

Mr_*_*imp 3 javascript permissions facebook facebook-graph-api

我正在使用Facebook Javascript SDK将用户登录到我的网站.这有效,我可以在登录时请求权限.

但是,根据Facebook的建议,我只想在登录时请求最基本的权限,然后在需要时请求额外的权限,因为并非所有用户都需要例如发布权限.

我的问题是如何申请其他权限?请求在文档中看到的权限的唯一方法是在登录时执行此操作.这篇文章建议FB.login()再次打电话:

FB.login(function(response) {
    // ...do some stuff
}, {
  scope: ['publish_actions']
});
Run Code Online (Sandbox Code Playgroud)

......但这样做会给我一个错误:FB.login() called when user is already connected.关于该主题的大多数其他帖子只是说要在登录时请求所有权限 - 但这违背了FB自己的建议.

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

(来自FB Docs)

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

lus*_*chn 11

您没有以正确的方式使用它:

FB.login(function(response) {
    // handle the response
}, {
    scope: 'publish_actions,some_other_permission',
    auth_type: 'rerequest'
});
Run Code Online (Sandbox Code Playgroud)

它不是一个数组,它只是一个字符串.你应该尝试使用auth_type参数.来源:https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.3#re-asking-declined-permissions