如何通过从firestore引用userid来检索用户照片?

时间:2018-05-06 15:07:03

标签: swift google-cloud-firestore

我想知道如何通过其userID检索用户照片。我可以轻松获取当前用户照片。但是有关于如何在谷歌文档中获取其他信息的信息。

要获取当前用户照片:

let data = NSData(contentsOf: (user?.photoURL)!)
    let userImage = UIImage(data: data! as Data)
    userPhoto?.texture = SKTexture(image: userImage!)

2 个答案:

答案 0 :(得分:1)

您无法在Firebase Auth中以这种方式访问​​其他用户的详细信息。在Firestore中执行此操作的方法是:

  1. 创建Collection,例如名为UserPhotos
  2. 当用户登录时,您可以使用photoURL作为UserPhotos
  3. uid存储在DocumentReference的新文档中
  4. 然后,.getDocument可以uid photoURL model.save
  5. 您需要在隐私政策中明确说明您正在执行此操作,并确保photoURL保持最新状态。

答案 1 :(得分:0)

假设您拥有users数据库中的所有用户,并且每个用户都有一个照片网址。您可以通过以下方式获取所有用户的照片:

FIRDatabase.database().reference().child("users").observeSingleEvent(of: .value, with: { (snapshot) in
// You will get users photo url in print
print(snapshot.value)
}

您可以通过以下方式检索当前用户的信息:

let user = Auth.auth().currentUser
if let user = user {
  let uid = user.uid
  let email = user.email
  let photoURL = user.photoURL
  // ...
}