2

我收到 FacebookAuthorizationException:用户以不同的 Facebook 用户身份登录,同时尝试更新发布权限,我的代码如下所示

onCreate(...) {
  connectFacebookAccount();
}//oncreate

private void connectFacebookAccount() {
    settings = getSharedPreferences("PREF_NAME",MODE_PRIVATE);
    String FbExperi = settings.getString("FB_AccessExpires, null);
    String accesstoken = settings.getString(FB_AccessToken, null);

    if (accesstoken != null) {
        // open a session from the access token info
        // saved in the app's shared preferences

        Date date = null;
        try {
            date = (Date) new SimpleDateFormat("MMMM d, yyyy",
                    Locale.ENGLISH).parse(FbExperi);
        } catch (ParseException e) {
            e.printStackTrace();

        }

        AccessToken accessToken = AccessToken
                .createFromExistingAccessToken(accesstoken, date, null,
                        null, null);
        Session.openActiveSessionWithAccessToken(NewTest.this, accessToken,
                new Session.StatusCallback() {

                    @Override
                    public void call(Session session, SessionState state,
                            Exception exception) {
                        if (session != null && session.isOpened()) {
                            Session.setActiveSession(session);
                            getPublishPremission();
                        }
                    }
                });

    }
}


  private void getPublishPremission(){
    if (Session.getActiveSession().getPermissions() == null
            || !Session.getActiveSession().getPermissions()
                .containsAll(PERMISSIONS)) {
           Session.getActiveSession().requestNewPublishPermissions(
                new Session.NewPermissionsRequest(
                        NewTest.this, PERMISSIONS));

        }else{
          publishFeedDialog()
        }

 private void publishFeedDialog() {
   //open WebDialog to publish feed
 }

执行流程围绕 requestNewPublishPermissions 和 StatusCallback 因此未设置权限。我请求您的帮助指出我出错的地方。我在我的 facebook 应用程序中使用不同的 facebook Id 登录。在我的应用程序中我正在尝试登录-使用与保存在应用程序共享首选项中的访问令牌信息不同的 facebook ID。

4

1 回答 1

1

看到这个链接

facbook sdk 中存在一个错误,当设备上没有安装 facebook 应用程序时。当用户请求额外权限时,它会将用户再次带到登录对话框。

于 2013-07-13T06:05:03.933 回答