facebook android 用户获取用户名

facebook android user getUsername

我正在尝试在我的应用程序中获取当时正在活动会话中连接到 facebook 的用户的用户名。在许多 post 中,我读到 getUsername() 方法已被弃用。真的吗?这是我的一段代码:

        if(session!=null && session.isOpened()){

        Log.i("LandingActivity", "session not null...");

        Request.newMeRequest(session, new Request.GraphUserCallback() {
            @Override
            public void onCompleted(final GraphUser user, final Response response) {
                if (user != null) {

                    String u=user.getUsername();


                    String url="exist_user.php?mail=".concat(u);
                    lf.ftpControl(url);

                }
            }
        }).executeAsync();

错误是在concat 函数所在的行出现NullPointerException。帮我!谢谢

自 Graph v2.0 以来 API,不再可能获取用户名或用户的真实 ID。有关更改的更多信息,请参阅更改日志:来源:https://developers.facebook.com/docs/apps/changelog

我看到您正在尝试将用户名用作电子邮件,这不是一个好主意,也是他们取消访问权限的原因之一。识别返回用户的正确方法是存储他们的(应用范围内的)ID,而不是他们的电子邮件。如果你真的需要用户的电子邮件,请求电子邮件权限,你将在 /me.

的结果中得到它