Android Facebook登录:ApiException:无法提供share_item的说明

时间:2014-04-16 13:10:48

标签: android facebook facebook-graph-api

通过Facebook登录并获得额外的share_item权限,我遇到了烦人的问题。 我的登录代码:

public void startFacebookLogin() {
    Session localSession = Session.getActiveSession();
    if ((!localSession.isOpened()) && (!localSession.isClosed())) {
        Session.OpenRequest localOpenRequest = new Session.OpenRequest(this);
        localOpenRequest.setCallback(this);
        localOpenRequest.setDefaultAudience(SessionDefaultAudience.EVERYONE);
        localOpenRequest.setPermissions("email", "share_item");
        localSession.openForRead(localOpenRequest);
        return;
    }
    Session.openActiveSession(this, true, this);
}

获取会话登录响应的代码:

@Override
public void call(Session session, SessionState state, Exception exception) {
    onSessionStateChange(session, state, exception);
    if(state == SessionState.OPENED) {
        String facebookToken = session.getAccessToken();
        processFacebookToken(facebookToken);
    }
}

问题是当我第一次调用startFacebookLoging()时,metod调用中的状态是“CLOSED_LOGIN_FAILED”,异常是:

  

com.facebook.FacebookAuthorizationException:UnknownError:ApiException:无法提供share_item的说明

当第二次调用startFacebookLoing()时,Facebook SDK显示“询问权限对话框”,但只询问“basic_info”,在call()中的接受状态为“OPENED”后,无例外但是“email”和“权限” share_item“未附加到会话。我在Facebook SDK 3.6和3.8上测试过它。

任何想法有什么不对?我在谷歌尝试找到“UnknownError:ApiException:无法提供share_item的描述”,但没有任何有趣的结果。

1 个答案:

答案 0 :(得分:0)

解决: 好的,问题解决了。优雅的Facebook开发人员回应我,share_item已被弃用,现在它不起作用(相反,你可以使用publish_stream或其他东西......)。但是Facebook的文档中没有任何关于此的信息,那就是为了获得良好的支持FB ......