2013-07-05 3 views
2

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

+0

Session.getActiveSession(). RequestNewPublishPermissions (новый Session.NewPermissionsRequest (NewTest.this, PERMISSIONS) .setCallback (statusCallback) .setLoginBehavior (SessionLoginBehavior.SUPPRESS_SSO)); Замена вышеприведенного кода тигров facebook login dialog, вхождение в токены доступа, соответствующие идентификатору facebook, отлично работает, но почему диалог входа в систему должен появиться, когда я уже создал сеанс с использованием accesstoken – ganesh

+0

. Я очень удивлен, увидев, что знаете, что кто-то вышел вперед, чтобы указать вне ошибки в коде, есть ли какая-либо ошибка в форматировании кода или иначе не может понять код, прокомментируйте. – ganesh

+2

Я столкнулся с той же проблемой. У вас проблема решена? Пожалуйста, дайте мне знать, как вы это сделали? – user2095470

ответ

1

see ссылку

Существует ошибка в facbook SDK, когда нет facebbok приложение установлено на пользователя device.When запросить дополнительные разрешения, требуется пользователю для входа в диалоговом снова.

+0

Согласованный Chirag, но в моем случае у меня установлено приложение facebook, но я не смог получить желаемое разрешение для сеанса, созданного с использованием токена доступа. Это означает, что это ошибка в facebook. Это проблема только при создании сеанса используя accesstoken. – ganesh

+0

, если вы входите в систему с FB, когда вы вошли в свое приложение FB (это?), Он больше не будет запрашивать учетные данные для входа. –

+0

проблема заключается в том, что я не мог получить разрешение на публикацию с сеансом, созданным с использованием accesstoken с вышеуказанным кодом. – ganesh