2015-06-12 38 views
2

我想从ParseUser中检索authData字段。随着解析1.9.1,我曾这样做:如何从ParseUser检索authData?

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。这不再可能吗?

+0

您是否在使用ParseFacebookUtils登录Facebook用户? – NehaK

回答

1

如果使用ParseFacebookUtils进行登录Facebook的用户,然后在解析尝试后成功登录使用下列获取的Facebook用户得到GraphUser数据 -

    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(); 
+0

谢谢。我想authData只是无法访问了。所以现在我必须做两个异步请求,Facebook登录和Facebook ID检索。 – SilentByte

0

您是否在为Facebook Users剖面的样子Parse.com文档。我认为authData是用于内部沟通的,并不意味着被称为(再)。