0

Using facebook sdk version 3.0 & following is my code.I have getting id and name value but null email address every time.

 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 (user != null) {               
                   Log.i(TAG,"User ID "+ user.getId());
                   Log.i(TAG,"Email "+ user.asMap().get("email"));
                     }
                    }
                  }).executeAsync();
               }
              }
         });
balaji
  • 21
  • 2

1 Answers1

0

No need set Permissions as seperate for reading

 Session.OpenRequest openRequest = new Session.OpenRequest(LandingPageActivity.this);
    openRequest.setPermissions(Arrays.asList...);
    openRequest.setCallback(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 request = Request.newMeRequest(session,
                        new Request.GraphUserCallback() {

                            // callback after Graph API response with user
                            // object
                            @Override
                            public void onCompleted(GraphUser user,
                                    Response response) {
                                if (user != null) {
                                    string email= user.getProperty("email");
                                }
                            }

                        });
                request.executeAsync();

            }
    });
    Session session = new Session(LandingPageActivity.this);
    Session.setActiveSession(session);
    session.openForRead(openRequest);

Reference : click Here

Community
  • 1
  • 1
Rajan Kali
  • 12,627
  • 3
  • 25
  • 37