Как получить фотографию пользователя, ссылаясь на идентификатор пользователя из магазина? - PullRequest
0 голосов
/ 06 мая 2018

Я хотел бы знать, как получить фотографию пользователя по его идентификатору пользователя. Я могу легко получить текущую фотографию пользователя. Но есть информация о том, как получить другие в документах Google.

Чтобы получить текущее фото пользователя:

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

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Вы не можете получить доступ к данным другого пользователя таким образом в Firebase Auth. Способ сделать это в Firestore будет следующим:

  1. Создайте Collection, например, с именем UserPhotos
  2. Когда пользователь входит в систему, вы можете сохранить его photoURL в новом документе в UserPhotos, используя uid в качестве DocumentReference
  3. Затем вы можете .getDocument на любом uid, на который вы хотите photoURL.

Вы должны четко указать в своей политике конфиденциальности, что вы делаете это, а также убедиться, что photoURL обновлены.

0 голосов
/ 06 мая 2018

Допустим, у вас есть все пользователи в базе данных 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
  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...