2013-08-23 2 views
0

Привет, я пытаюсь получить имя пользователя и идентификатор пользователя из зарегистрированного пользователя.Нет ответа от facebook onCompleted

Я пытаюсь использовать этот код в своем onActivityResuly, но не запускается.

Спасибо за помощь :)

final Session session = Session.getActiveSession(); 
       Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { 

        @Override 
        public void onCompleted(GraphUser user, Response response) { 
         // TODO Auto-generated method stub 
         if (session == Session.getActiveSession()) { 
          if (user != null) { 
           facebook_id = user.getId();//user id 
           facebook_name= user.getName(); 

           Log.i("facebook_id", facebook_id); 
           Log.i("facebook_name", facebook_name); 

           new GetProfilePicture().execute(); 

          } 
         } 
        } 
       }); 
       Request.executeBatchAsync(request); 
        super.onActivityResult(requestCode, resultCode, data2); 
+0

Вы тестирования на реальном устройстве или эмуляторе ?? И какая версия facebook sdk u используется? –

+0

какой SDK вы используете? – Piyush

ответ

2

Я настоятельно рекомендую проверить руководство здесь https://developers.facebook.com/docs/android/getting-started/facebook-sdk-for-android/

Best Explanation is available на Facebook Developers

для Вашего случая Следуйте шаг 6, который поможет вам точно вы Хотеть !

Попробуйте это работает для меня:

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // start Facebook Login 
    Session.openActiveSession(this, true, new Session.StatusCallback() { 

     // callback when session changes state 
     @Override 
     public void call(Session session, SessionState state, Exception exception) { 
     if (session.isOpened()) { 

      // make request to the /me API 
      Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { 

      // callback after Graph API response with user object 
      @Override 
      public void onCompleted(GraphUser user, Response response) { 
       if (user != null) { 
       facebook_id = user.getId();//user id 
          facebook_name= user.getName(); 

          Log.i("facebook_id", facebook_id); 
          Log.i("facebook_name", facebook_name); 
       } 
      } 
      }); 
     } 
     } 
    }); 
    } 

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); 
    } 
+0

Я получаю эту ошибку: Метод executeMeRequestAsync (Session, Request.GraphUserCallback) из типа Request устарел – dasdasd

+0

@dasdasd Выполните шаг 6 здесь https://developers.facebook.com/docs/android/getting-started/facebook -sdk-for-android /, который поможет вам! –

+0

@dasdasd: попробуйте использовать newMeRequest вместо executeMeRequestAsync. – Ajay