2017-07-13 46 views
0

所以我注意到在Firebase控制檯中有一個名爲「驗證」的面板,其中包含用戶列表。每個用戶都有四項信息:標識符,提供者,創建,登錄和用戶UID。從Firebase控制檯中的驗證面板獲取用戶信息

我不知道是否有您可以通過編程訪問這些信息的一種方式,而用戶沒有登錄。

感謝。

回答

0

是的,你可以使用幾種方法來訪問這些值。爲了得到供應商,我suggert您使用此代碼:

FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); 
if (firebaseUser != null) { 
    for (UserInfo userInfo : firebaseUser.getProviderData()) { 
     if (userInfo.getProviderId().equals("facebook.com")) { 
      Log.d("TAG", "User is signed in with Facebook"); 
     } 

     if (userInfo.getProviderId().equals("google.com")) { 
      Log.d("TAG", "User is signed in with Google"); 
     } 
    } 
} 

還有其他的方法,這是非常有用的:getUid()getDisplayName()getEmail()getPhoneNumber()等。請看看official documentation

作爲此問題的結論,您無法調用其他方法來獲取用戶的電子郵件地址。你可以做什麼,你可以在你的Firebase database中創建一個users部分,存儲你需要的所有數據,而不僅僅是查詢它。

希望它有幫助。

+0

如果我想獲取當前未登錄的用戶的'providerData',該怎麼辦? –

+0

'providerData'是什麼意思?請看我更新的答案,重新編寫其他方法。 –

+0

對不起,我的意思是我怎樣才能從未登錄的用戶對象調用諸如'getEmail()'的函數?換句話說,如何在不調用'getCurrentUser()'的情況下獲得該信息? 謝謝。 –

相關問題