1

I am trying to get the logged in user's id and email. Here is my code:

authButton.setReadPermissions(Arrays.asList("basic_info","email"));
          // session state call back event
          authButton.setSessionStatusCallback(new Session.StatusCallback() {

   @Override
   public void call(Session session, SessionState state, Exception exception) {

        if (session.isOpened()) {
             Log.i(TAG,"Access Token"+ session.getAccessToken());
               Request.newMeRequest(session,
                   new Request.GraphUserCallback() {
          @Override
          public void onCompleted(GraphUser user,Response response) {
           if (response != null) { 
              Log.i(TAG,"User ID "+ user.getId());
               Log.i(TAG,"Email "+ user.asMap().get("email"));
                 }
                }
              });
           }
          }
     });

Everything goes ok till here

Log.i(TAG,"Access Token"+ session.getAccessToken());

I can see the access token, but the onComplete method is not called, and i don't get any user info.

what am i doing wrong?

Filip Luchianenco
  • 6,912
  • 9
  • 41
  • 63

1 Answers1

2

Try

if (user != null)

instead of

if (response != null)

or try

Request.newMeRequest(...).executeAsync();
innich
  • 370
  • 2
  • 9