facebook android用户getUsername

时间:2015-01-19 19:12:13

标签: android facebook session

我试图在我的应用程序中获取当时正在活动会话上工作的Facebook用户的用户名。在许多帖子中,我读到了不推荐使用方法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。帮我!谢谢

1 个答案:

答案 0 :(得分:1)

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

我看到您正在尝试将用户名用作电子邮件,这不是一个好主意,也是他们删除对其的访问权限的一个原因。识别返回用户的正确方法是存储他们的(应用范围)ID,而不是他们的电子邮件。如果您确实需要用户的电子邮件,请询问电子邮件权限,您将获得/me的结果。