Facebook SDK v3.14.1 requestNewPublishPermissions不更新用户的权限? Android的

时间:2014-06-05 14:20:22

标签: android facebook facebook-graph-api android-facebook

我有一个应用程序,我收到用户登录的个人信息,我使用读取权限来获取用户的邮件。这很好用!当用户需要发布帖子时,我要求获得发布许可,它也可以正常工作。

将Facebook Android SDK从v3.0.1升级到v3.14.1时遇到问题 请求新的发布权限然后发布与v3.0.1一样好,但是使用v3.14.1我无法更新用户的发布权限。代码如下,有什么变化吗?我在文档上查找它但没有任何线索。

当我在 Session.StatusCallBack 上收到致电事件时:

if (session != null) {
        LogUtils.LogI(FacebookHelper.class, session.toString());
        if (session.isOpened()) {
            CheckForPublish(context, session, listener);
        } else if (session.isClosed()) {
            // Logout successful
            listener.onLogoutSucceed();
        }
    } else {
        LogUtils.LogI(FacebookHelper.class, "session is null");
        listener.noSession();
    }

    if (exception != null) {
        if (exception.getClass().getSimpleName()
                .equals("FacebookOperationCanceledException")) {
            listener.onLoginCanceled();
        } else {
            listener.onError(null);
        }
    }

CheckForPublish 方法是:

if (!session.getPermissions().contains(listener.getPublishPermission()[0])) {
    LogUtils.LogI("Asking for publish permission...");
    Session.NewPermissionsRequest newPermissionsRequest = new Session.NewPermissionsRequest(activity, listener.getPublishPermissionAsList());
    session.requestNewPublishPermissions(newPermissionsRequest);
} else {
    // Login successful,
    listener.onLoginSucceed();
}

logcat输出如下:

  

要求发布许可......

     

会话{会话状态:OPENED_TOKEN_UPDATED,令牌:{AccessToken令牌:ACCESS_TOKEN_REMOVED权限:[installed,public_profile,email]},appId:1401502483442997}

     

(#200)用户尚未授权应用程序执行此操作

权限未更新,超过该用户甚至没有看到任何接受它的权限请求。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题:在v3.01上我要求" publish_stream"许可,但更多的挖掘出现在v3.14.1我应该使用" publish_actions"权限。