2016-09-30 1 views
0

私はAngularFireでFirebase 3 SDKを使用しています。Firebaseで別のユーザーのPhotoURLを取得する

私は現在、認証されたユーザーのphotoURLを取得するには、以下のAngularFireコードを使用することができます。

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

しかし、他のユーザのUID与えられ、どのように私は、そのユーザーの写真を取得するので、私はできませんそれをページに表示しますか?

私は任意のユーザーが他のユーザーのPhotoURLを読むことができると想定しています(PhotoURLは一般公開されているので理にかなっています)。しかし、任意のユーザーのためにそれを調べる方法はわかりません。私は愚かで何かが明白でないか?

答えて

1

Firebaseだけでは、他のユーザーのphotoUrlにアクセスすることはできません。プロバイダによっては、それぞれのAPIを使用して他のユーザーの写真を取得することができます。

たとえば、プロバイダがGoogle OAuth2の場合、連絡先、カレンダーなどの追加の範囲(多くのユーザー/写真のメタデータが返されます)と、ユーザーのgoogleによるAPIの呼び出しをリクエストできます詳細情報を取得するためのアクセストークン。

サービスにログインしているユーザーの写真をキャッシュする方法もあります。だから、基本的には、ログインしている人のすべてのphotoURLを保存するでしょう。しかし、このアプローチにはいくつかの欠点があります。

  1. まだログインしていないユーザーの写真はありません。
  2. これは、プロバイダーのユーザープライバシーポリシーに違反する可能性があります。
  3. photoURLの同期について積極的に対応している場合を除き、写真は古いことがあります。
+1

私はちょうどユーザー名とパスワード認証を使用していましたが、自分でphotoURL値を入力していました。しかし、結局、私はFirebaseにユーザーセクションを作成し、そこに写真を保存しています。この値が何のためだったかを説明してくれてありがとう。 – Simon

関連する問題