有没有办法从通过ID?通过firebase进行身份验证的特定用户检索数据?
例如,检索姓名,照片等信息。
提前致谢。
答案 0 :(得分:6)
这是我给出的here
的iOS答案的更多端口Firebase使用FIRAuth Clases / API
为用户提供身份验证但是,无法使用 Firebase数据库等自定义字段对其进行编辑。
要允许用户使用自定义字段,您需要使用您在用户身份验证中收到的相同唯一uid
复制数据库中的用户。像这样的东西
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// User is signed in
String name = user.displayName;
String email = user.email;
String photoUrl = user.photoURL;
String uid = user.uid;
FirebaseDatabase database = FirebaseDatabase.getInstance();
String key = database.getReference("users").push().getKey();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put( "uid", uid);
childUpdates.put( "name", name);
// other properties here
database.getReference("users").updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError == null) {
}
}
});
}
我们在数据库的users
终点推送它,并使用uid
键推送到以下行/users/\(key)
。
现在,您可以通过查询代码中的任何位置来检索数据库中的用户详细信息。