我刚刚熟悉Facebook javascript SDK。
检查权限请求是否成功然后调用函数的正确方法是什么?在我的情况下,正在向用户请求其他权限。他们已经给予了基本的许可。
现在我有了这个...但无论成功与否都会触发功能
FB.login(function (publishAuth) {
if (publishAuth.authResponse) {
authSuccess();
} else { }
}, { scope: 'publish_stream' });
}
感谢您的帮助
标记
答案 0 :(得分:0)
您将始终拥有authResponse,但这并不意味着您拥有所需的权限,因为您需要检查authResponse中的属性。
来自Facebook开发者页面:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// the user is logged in and has authenticated your
// app, and response.authResponse supplies
// the user's ID, a valid access token, a signed
// request, and the time the access token
// and signed request each expire
var uid = response.authResponse.userID;
var accessToken = response.authResponse.accessToken;
} else if (response.status === 'not_authorized') {
// the user is logged in to Facebook,
// but has not authenticated your app
} else {
// the user isn't logged in to Facebook.
}
});
答案 1 :(得分:0)
检查权限请求是否成功然后调用函数的正确方法是什么?
由于用户可以单独接受/拒绝每个(扩展)权限,因此对权限请求没有简单的真/假响应。
要检查用户实际授予了哪些权限,哪些权限未被授予,您必须拨打/me/permissions
- 请参阅Graph API Explorer example。
(通过字段扩展,您可以在一次通话中同时请求有关用户的其他信息 - f.e。/me?fields=id,name,permissions
)