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


person ganesh    schedule 05.07.2013    source источник
comment
Session.getActiveSession().requestNewPublishPermissions(новый Session.NewPermissionsRequest(NewTest.this,РАЗРЕШЕНИЯ).setCallback(statusCallback).setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO)); Замена приведенного выше кода диалогового окна входа в систему тигров facebook, ввод сохраненных токенов доступа, соответствующих идентификатору facebook, работает нормально, но почему должно появиться диалоговое окно входа, когда я уже создал сеанс с использованием токена доступа   -  person ganesh    schedule 08.07.2013
comment
я очень удивлен, увидев, что знаю, что кто-то вышел вперед, чтобы указать на ошибку в коде, есть ли какая-либо ошибка в форматировании кода или что-то еще не может понять код, пожалуйста, прокомментируйте.   -  person ganesh    schedule 10.07.2013
comment
Я столкнулся с той же проблемой. Вы решили свою проблему? Пожалуйста, дайте мне знать, как вы это сделали?   -  person user2095470    schedule 11.02.2014
comment
Та же проблема через год с последним FB SDK, есть идеи?   -  person Fran Marzoa    schedule 20.06.2014


Ответы (1)


см. эту ссылку

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

person Chirag Shah    schedule 13.07.2013
comment
Согласен Чираг, но в моем случае у меня установлено приложение facebook, но я не смог получить желаемое разрешение для сеанса, созданного с использованием токена доступа. Вы имеете в виду, что это ошибка в facebook. Это проблема, только когда сеанс создается с использованием токен доступа. - person ganesh; 14.07.2013
comment
если вы входите в систему с помощью FB, когда вы вошли в свое родное приложение FB (так ли это?), он больше не будет запрашивать учетные данные для входа. - person Chirag Shah; 15.07.2013
comment
проблема в том, что я не мог получить разрешение на публикацию с сеансом, созданным с использованием токена доступа с приведенным выше кодом. - person ganesh; 17.07.2013
comment
github.com/m3n0R/EasyFacebookConnect Я использую эту библиотеку для интеграции с Facebook. Это так просто и удобно .Попробуйте это может быть ваша проблема будет решена. - person Chirag Shah; 17.07.2013
comment
Я получаю эту ошибку, даже если на моем устройстве установлено приложение Facebook. На данный момент я не могу использовать другую библиотеку. Кто-нибудь добился дальнейшего прогресса в выяснении этого? - person TWGerard; 08.10.2014