Facebook Javascript SDK - 成功的权限请求回调

时间:2012-09-27 22:44:58

标签: facebook facebook-graph-api facebook-javascript-sdk

我刚刚熟悉Facebook javascript SDK。

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

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

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

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

感谢您的帮助

标记

2 个答案:

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