【问题标题】:How to retrieve authData from a ParseUser?如何从 ParseUser 中检索 authData?
【发布时间】:2015-06-13 05:29:22
【问题描述】:

我正在尝试从 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。这不再可能了吗?

【问题讨论】:

  • 您是否使用 ParseFacebookUtils 登录 Facebook 用户?

标签: android facebook parse-platform


【解决方案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();

【讨论】:

  • 谢谢。我想 authData 只是不再可访问。所以现在我必须发出两个异步请求,Facebook 登录和 Facebook ID 检索。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多