Получение исключения "FacebookAuthorizationException: пользователь вошел в систему как другой пользователь Facebook" - при обновлении для получения нового разрешения

Я получаю исключение 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. В моем приложении я пытаюсь войти в систему. при использовании другого идентификатора facebook из информации о токене доступа, сохраненной в общих настройках приложения.

1 ответ

см эту ссылку

Существует ошибка в facbook sdk, когда на устройстве не установлено приложение facebbok. Когда пользователь запрашивает дополнительное разрешение, он снова переводит пользователя в диалог входа в систему.

Другие вопросы по тегам