Facebook api权限范围问题

时间:2014-05-13 08:34:19

标签: javascript facebook permissions

我有这个登录脚本

$('#getFbImg').click(function () {
        FB.getLoginStatus(function(response) {
            if (response.status === 'connected') {
                var uid = response.authResponse.userID;
                var accessToken = response.authResponse.accessToken;
                getPermissions(uid);
                getUserAlbums(uid);
                getUserUploads(uid);
            } 
            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.
                FB.login(function(response) {
                    if (response.authResponse) {
                        var uid = response.authResponse.userID;
                        var accessToken = response.authResponse.accessToken;
                        getPermissions(uid);
                        getUserAlbums(uid);
                        getUserUploads(uid);
                    } else {
                        console.log('User cancelled login or did not fully authorize.');
                    }
                }, {scope: 'public_profile,user_photos'});
            }
        });
    });

要求用户登录才能继续。弹出窗口工作正常,登录正常,但权限似乎没有注册。 非常奇怪的部分是我的帐户(也是应用程序中的管理员)被要求获得权限,但其他所有帐户都没有。 这是带权限对象的图片 enter image description here

编辑:如果我向范围添加其他权限,例如用户生日,则会要求我的帐户接受新权限的访问权限,但不会要求其他帐户。

第二次编辑:我添加了一些其他管理员帐户以检查是否是因为我是管理员,并且我仍然遇到权限问题,应用程序无法访问其user_photos,但是它仍然提供给我的帐户

1 个答案:

答案 0 :(得分:8)

我猜您使用的是Graph API v2.0,但尚未批准您的应用user_likesuser_photos权限:https://developers.facebook.com/docs/apps/changelog#v2_0_permissions < / p>

  

使用Facebook登录的应用程序需要的不仅仅是public_profile   (默认),电子邮件和user_friends将需要Facebook审核   为了向人们请求这些权限。

查看审核流程https://developers.facebook.com/docs/apps/review