android-fb-sdk электронная почта всегда пуста

У меня большая проблема с android-facebook-sdk 3.19.1. Нет проблем с получением публичной информации о пользователе, но невозможно получить адрес электронной почты.

Я знаю, что мое сообщение очень близко к следующей теме ==> Facebook android sdk -user email возвращает ноль, но пока у меня нет решения.

Так вот мой код

В моем ConnectionActivity.java у меня есть кнопка R.id.fb_connect

private List<String> permissions = Arrays.asList("email");

@Click(R.id.fb_connect)
protected void fbConnect() {
    ensureOpenSession();
}

private boolean ensureOpenSession() {
    Session session = Session.getActiveSession();
    if (session == null || !session.isOpened()) {
        LOGD(TAG, "Call Session.openActiveSession");
        Session.openActiveSession(this, true, permissions, new FbCallback());
        return false;
    }
    return true;
}

public class FbCallback implements Session.StatusCallback {

    @Override
    public void call(Session session, SessionState sessionState, Exception e) {
        // make request to the /me API
        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) {
                    // user.asMap().get("email");
                    Toast.makeText(ConnectionActivity.this, "email : " + user.getProperty("email"), Toast.LENGTH_LONG).show();
                }
            }
        }).executeAsync();
    }
}

Я также попробовал код в ссылке выше, но он не работает. С одной точностью, с этим кодом, я вижу активность на Facebook, которая гласит: "XXX получит следующую информацию: ваш общедоступный профиль и адрес электронной почты", но на тосте отображается "email: null"


РЕДАКТИРОВАТЬ

Я работаю с Android Studio, и мой файл Gradle имеет следующую строку

compile 'com.facebook.android:facebook-android-sdk:3.19.1'

EDIT2

Если я использую

LOGD(TAG, "isPermissionGranted : " + session.isPermissionGranted(permissions.get(0)));

перед звонком Request.newMeRequest так верно показано. Разрешение правильно предоставлено

Спасибо

0 ответов

Другие вопросы по тегам