График api. Не получается поле электронной почты. Любой другой способ получить логин или идентификатор электронной почты? - PullRequest
0 голосов
/ 07 ноября 2019

Я использую API графа. Я использовал приведенный ниже код для получения идентификатора электронной почты. Но идентификатор электронной почты возвращается как пустой. Идентификатор электронной почты подтвержден и может войти с тестовой учетной записью. Я сделал какую-нибудь ошибку? Разрешения были приняты.

login(){
   LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email", "public_profile"));
    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(final LoginResult loginResult) {
                    GraphRequest request = GraphRequest.newMeRequest(
                            loginResult.getAccessToken(),
                            new GraphRequest.GraphJSONObjectCallback() {
               @Override
public void onCompleted(JSONObject object, GraphResponse response) {

                                    Log.v("DEBUG",loginResult.getRecentlyDeniedPermissions()+" ACCEPTED PERMISSIONS :" +loginResult.getRecentlyGrantedPermissions());
                                    Log.v("DEBUG",response.toString());

                                    try {
                                        String email = object.getString("id");
                                        String name = object.getString("name");
                                        LoginManager.getInstance().logOut();
                                        sessionLogin(email, name, "Facebook");
                                    } catch (JSONException e) {
                                        Log.e(TAG, "facebook onCompleted exception: ", e);
                                    }
                                }
                            });
                    Bundle parameters = new Bundle();
                    parameters.putString("fields", "id,first_name,name,last_name,email,gender,birthday");
                    request.setParameters(parameters);
                    request.executeAsync();

}
...