在Firebase中获取另一位用户的PhotoURL

时间:2016-09-30 21:29:23

标签: firebase angularfire

我在FireularFire上使用Firebase 3 SDK。

我可以使用下面的AngularFire代码获取当前经过身份验证的用户的photoURL:

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

但是,考虑到其他用户的UID,如何获取该用户的照片,以便我可以在页面上显示?

我假设任何用户都可以阅读任何其他用户的PhotoURL(这是有道理的,因为PhotoURL是您的公开图片)但我无法找到如何查找任意用户。我是愚蠢的,错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

单独的Firebase不允许您访问其他用户的photoUrl。根据提供商的不同,您可以使用各自的API获取其他用户的照片。

例如,如果您的提供商是Google OAuth2,您可以要求提供额外的联系人范围,日历等(其中很多都有返回的用户/照片元数据)以及与用户进行的API调用#39 ;谷歌访问令牌以获取更多信息。

另一种解决方案可能是缓存已登录服务的人的照片。所以基本上你会保存所有已登录的人的photoURL。但是这种方法有几个缺点。

  1. 您还没有为尚未登录的人拍照。
  2. 这可能违反了提供商的用户隐私政策。
  3. 除非您主动同步photoURL,否则照片可能已过时。