Я работаю на Facebook интеграции в моем приложении:Виртуальный адрес Facebook пользователя
Но что-то не так, и адрес электронной почты пользователя всегда возвращает нулевое значение:
Вот мой код:
@Override
public void onCreate(Bundle savedInstanceState) {
..
..
//initiate session
Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);
Session session = Session.getActiveSession();
if (session == null) {
if (savedInstanceState != null) {
session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
}
if (session == null) {
session = new Session(this);
}
Session.setActiveSession(session);
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
Session.OpenRequest op = new Session.OpenRequest(this);
op.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
op.setCallback(null);
List<String> permissions = new ArrayList<String>();
permissions.add("publish_stream");
permissions.add("user_likes");
permissions.add("email");
permissions.add("user_birthday");
op.setPermissions(permissions);
Session.setActiveSession(session);
session.openForPublish(op);
}
}
}
@Override
public void onStart() {
Logger.d(TAG,"onStart");
super.onStart();
Session.getActiveSession().addCallback(statusCallback);
}
@Override
public void onStop() {
Logger.d(TAG,"onStop");
super.onStop();
Session.getActiveSession().removeCallback(statusCallback);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Logger.d(TAG,"onActivityResult");
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
Logger.d(TAG,"onSaveInstanceState");
super.onSaveInstanceState(outState);
Session session = Session.getActiveSession();
Session.saveSession(session, outState);
}
private void getUserDetails(Session session) {
Logger.d(TAG,"getUserDetails");
Request request = Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
Log.d(TAG,"newMeRequest:onCompleted");
if (user != null) {
fbCurrentUser = user;
Log.d(TAG,"Already logged-in : "+ user.getId());
Log.d(TAG,"User First Name: "+ user.getFirstName());
Log.d(TAG, "User Email: " + user.getProperty("email"));
Log.e(TAG, "response: " + response);
Log.e(TAG, "user: " + user.toString());
//check if new user [get his friends list]
getFriendsList();
} else {
Log.e(TAG,"No User Found");
}
}
});
Request.executeBatchAsync(request);
}
Пожалуйста, помогите! Спасибо заранее!
попытка ниже решения и дайте мне знать, что происходит? @username_AB – InnocentKiller
Проверьте настройки приложения: https://www.facebook.com/settings?tab=applications, если вы предоставили разрешение от emai –
Да, я дал – AabidMulani