Javascript Facebook SDK对不同事件的权限

Javascript Facebook SDK对不同事件的权限,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,在我的应用程序中,我需要用户使用Facebook或电子邮件登录。然后他们可以从Facebook或本地存储中选择图像 当我使用Facebook登录应用程序时,我会这样做 FB.login(function (response) { }, {scope: 'email'}); FB.api('/me/albums', function (resp) { },{scope:'user_photos'}); 我知道在这个范围内,我也可以请求用户照片的权限,但我看到大多数

在我的应用程序中,我需要用户使用Facebook或电子邮件登录。然后他们可以从Facebook或本地存储中选择图像

当我使用Facebook登录应用程序时,我会这样做

     FB.login(function (response) {
      },
    {scope: 'email'});
FB.api('/me/albums', function (resp) {
},{scope:'user_photos'});
我知道在这个范围内,我也可以请求用户照片的权限,但我看到大多数用户没有进入我的应用程序,因为他们必须对很多东西授予权限

在我对Facebook相册的api调用中,我就是这样做的

     FB.login(function (response) {
      },
    {scope: 'email'});
FB.api('/me/albums', function (resp) {
},{scope:'user_photos'});
但是我得到的'resp'是空数组


有更好的方法吗?例如获取应用程序中不同事件的权限

FB.api不使用scope参数,但您可以再次调用FB.login以请求其他权限:

FB.login(function (response) {
    if (response.authResponse) {
        FB.api('/me/albums', ...
    }
}, {scope: 'user_photos'});
但您可能希望在启动应用程序时检查哪些权限已被接受,并且只有在您知道用户未授权您的应用程序或尚未接受特定权限时,才调用FB.login:

FB.api(
    "/me/permissions",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
资料来源: