I want to integrate Facebook login in my android application. Now I can login to my application using Facebook but now i am getting only id and name. I have added permissions "email", "public_profile", "user_friends". In my facebook application its shows as email, public_profile, user_friends are in Approved Items. Here is the code I am used for Facebook login.
I am using loginWithFacebook() function for facebook login,
public void loginWithFacebook() {
session = Session.getActiveSession();
if (session != null && (session.isOpened() || session.isClosed())) {
onSessionStateChange(session, session.getState(), null);
}else
Session.openActiveSession(this, true, Arrays.asList("email", "public_profile", "user_friends"),this.callback);
}
//Facebook Session Status Callback
private Session.StatusCallback callback = new Session.StatusCallback() {
@SuppressWarnings("deprecation")
@Override
public void call(Session session, SessionState state, Exception exception) {
onSessionStateChange(session, state, exception);
}
};
//onSessionStateChange
private static void onSessionStateChange(Session session, SessionState state, Exception exception) {
if (state.isOpened()) {
Log.i("FB", "Logged in...");
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
try {
String email = null, id = null, first_name = null, last_name = null, gender = null, name = null;
Toast.makeText(context, user.asMap().toString(), Toast.LENGTH_LONG).show();
if(user.asMap().containsKey("email"))
email = (String) user.asMap().get("email");
if(user.asMap().containsKey("id"))
id = (String) user.asMap().get("id");
if(user.asMap().containsKey("name"))
name = (String) user.asMap().get("name");
if(user.asMap().containsKey("first_name"))
first_name = (String) user.asMap().get("first_name");
if(user.asMap().containsKey("last_name"))
last_name = (String) user.asMap().get("last_name");
if(user.asMap().containsKey("gender"))
last_name = (String) user.asMap().get("gender");
System.out.println("\n*****\nemail " + email+ "\n id " + id+ "\nFirstName " + first_name+ "\nLastName : " + last_name+ "\ngender : " + gender);
} catch (Exception e) {
e.printStackTrace();
}
}
}).executeAsync();
}else if (state.isClosed()) {
Log.i("FB", "Logged out...");
}
}
Thanks