不同事件的Facebook SDK权限

Facebook SDK permissions on different events

本文关键字:SDK 权限 Facebook 事件      更新时间:2023-09-26

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

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

     FB.login(function (response) {
      },
    {scope: 'email'});

我知道在这个范围内,我也可以请求用户照片的权限,但我看到大多数用户都没有进入我的应用程序,因为他们必须为很多东西授予权限。

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

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 */
      }
    }
);

来源:https://developers.facebook.com/docs/graph-api/reference/v2.1/user/permissions