在 Facebook SDK 4 中获取用户名 android

Get username in Facebook SDK 4 android

我需要在登录后获取配置文件的用户名。 这是我的代码:

    @Override
    public void onSuccess(LoginResult loginResult) {
       
        GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                    @Override
                    public void onCompleted(JSONObject me, GraphResponse response) {
                        if (response.getError() != null) {
                            // handle error
                        } else {
                            String email = me.optString("email");
                            String id = me.optString("id");
                            String nick = me.optString("username ");
                            if(nick==""){
                                nick = me.optString("name");
                            }
                            // send email and id to your web server
                            ArrayList<String> keys = new ArrayList<String>(Arrays.asList("idGoogle","email","idEntity","nickname"));
                            ArrayList<String> values = new ArrayList<String>(Arrays.asList(id, email, entity.getIDENTITY().toString(),nick));
                            
                            new loginUser(keys,values,"newFacebookUser",id,FACEBOOK).execute();
                        }
                    }
                }).executeAsync();
   }    
   

我需要做什么才能获得个人资料的用户名?

/me/username is no longer available.

Source

自 Graph v2.0 以来 API,无法再获取用户名。使用(App Scoped)ID 来识别用户。