2015-06-12 69 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是用於內部溝通的,並不意味着被稱爲(再)。