0

我刚刚熟悉 Facebook javascript SDK。

检查权限请求是否成功然后调用函数的正确方法是什么?在我的情况下,用户被请求额外的权限。他们已经授予了基本权限。

现在我有这个..但无论成功与否,它都会触发该功能

FB.login(function (publishAuth) {
                            if (publishAuth.authResponse) {

                                authSuccess();
                            } else { }
                        }, { scope: 'publish_stream' });
                    }

谢谢您的帮助

标记

4

2 回答 2

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.
  }
 });
于 2012-09-28T12:26:49.753 回答
0

检查权限请求是否成功然后调用函数的正确方法是什么?

由于用户可以单独接受/拒绝每个(扩展)权限,因此对权限请求没有简单的真/假响应。

要检查用户实际授予了哪些权限,哪些没有,您必须调用/me/permissions- 请参阅Graph API Explorer 示例

(通过字段扩展,您也可以在一个呼叫中完成它,同时请求有关用户的其他信息 - fe /me?fields=id,name,permissions

于 2012-09-28T13:37:13.167 回答