Question

I have an application that i receive user's personal informations to login, and i use read permission to get user's mail. This works fine! When user requires to publish a post i ask for publish permission and it worked fine too.

The problem has been encountered while upgrading Facebook Android SDK from v3.0.1 to v3.14.1 Requesting new publish permission and then posting was just fine with v3.0.1 but with v3.14.1 i am unable to update user's permission to publish. Code is below, is there anything changed? I looked for it on documentation but have no clue.

when i receive call event on 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);
        }
    }

and CheckForPublish method is:

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();
}

And logcat output is like:

Asking for publish permission...

Session {Session state:OPENED_TOKEN_UPDATED, token:{AccessToken token:ACCESS_TOKEN_REMOVED permissions:[installed, public_profile, email]}, appId:1401502483442997}

(#200) The user hasn't authorized the application to perform this action

Permission is not updated, more than that user even didn't see any permission request to accept it.

Was it helpful?

Solution

I solved the issue: on v3.01 i was asking for "publish_stream" permission but more digging showed up that on v3.14.1 i should use "publish_actions" permission.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top