如何从ParseUser中检索authData?

时间:2015-06-12 20:32:08

标签: android facebook parse-platform

我试图从ParseUser中检索authData字段。使用Parse 1.9.1,我曾经这样做过:

ParseUser user = ParseUser.getCurrentUser();
HashMap authDataMap = (HashMap)user.get("authData");
HashMap facebookMap = (HashMap)authDataMap.get("facebook");
String facebookId = (String)facebookMap.get("id");

这很好。

虽然有些变化。我不知道是不是因为我更新到Parse 1.9.2或者Parse服务器端发生了某些变化,但authData不再可访问。 user.get(" authData")行返回null。即使我重新获取用户。

最终我想从ParseUser中检索Facebook ID,最好不要去Facebook。这不再可能吗?

2 个答案:

答案 0 :(得分:1)

如果您正在使用ParseFacebookUtils执行登录Facebook用户,那么在成功登录解析后尝试使用以下内容获取GraphUser以获取Facebook用户数据 -

                    Request.newMeRequest(ParseFacebookUtils.getSession(),
                            new Request.GraphUserCallback() {
                                @Override
                                public void onCompleted(
                                        final GraphUser fbUser,
                                        Response response) {

                                    try {

                                        if (fbUser != null
                                                && parseUser != null
                                                && fbUser.getName()
                                                        .length() > 0) {

                                          // Facebook user data
                                          String fbId = fbUser.getId();

                                        } else {
                                          // Facebook user not logged in
                                        }
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                        stopLoading();

                                    }
                                }
                            }).executeAsync();

答案 1 :(得分:0)

您是否看过Parse.com文档中的Facebook Users部分。我认为authData用于内部通信,不应该被调用(更多)。