2016-09-30 7 views
0

Ich verwende das Firebase 3 SDK mit AngularFire.Erhalten der PhotoURL eines anderen Benutzers in Firebase

kann ich den AngularFire Code verwenden, unter den photoURL des aktuell authentifizierten Benutzer zu erhalten:

$firebaseAuth().$getAuth().photoURL;

Aber die UID eines anderen Benutzers gegeben, wie ich das Benutzer-Foto bekommt, so kann ich es auf der Seite anzeigen?

Ich nehme an, jeder Benutzer kann die PhotoURL von jedem anderen Benutzer lesen (das macht Sinn, da die PhotoURL zu Ihrem öffentlichen Bild ist) Aber ich kann nicht herausfinden, wie man es für beliebige Benutzer nachschlagen. Bin ich dumm und vermisse etwas Offensichtliches?

Antwort

1

Firebase allein erlaubt Ihnen nicht, auf die photoUrl eines anderen Benutzers zuzugreifen. Je nach Anbieter können Sie die entsprechenden APIs verwenden, um Fotos anderer Benutzer zu erhalten.

Wenn Ihr Provider beispielsweise Google OAuth2 ist, können Sie nach einem zusätzlichen Bereich von Kontakten, Kalender usw. fragen (viele von ihnen haben Benutzer-/Foto-Metadaten, die zurückgegeben werden) und die make API-Aufrufe mit google des Benutzers Zugriffstoken, um weitere Informationen abzurufen.

Eine alternative Lösung könnte darin bestehen, die Fotos von Personen zwischenzuspeichern, die sich bei Ihrem Dienst angemeldet haben. Im Grunde würden Sie alle Fotos von Leuten speichern, die sich eingeloggt haben. Es gibt jedoch einige Nachteile bei diesem Ansatz.

  1. Sie haben keine Fotos für Leute, die noch nicht eingeloggt sind.
  2. Dies könnte gegen die Datenschutzbestimmungen des Anbieters sein.
  3. Das Foto kann veraltet sein, es sei denn, Sie sind proaktiv über die Synchronisierung der photoURL.
+1

Also, ich benutze nur Benutzernamen und Passwort-Authentifizierung und bevölkern den photoURL-Wert selbst. Aber am Ende habe ich in Firebase einen Benutzerbereich erstellt und speichere das Foto dort. Danke, dass Sie erklärt haben, wofür dieser Wert verwendet wurde. – Simon

Verwandte Themen