【问题标题】:Getting another user's PhotoURL in Firebase在 Firebase 中获取其他用户的 PhotoURL
【发布时间】:2016-09-30 21:29:22
【问题描述】:

我将 Firebase 3 SDK 与 AngularFire 一起使用。

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

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

但是,给定另一个用户的 UID,我如何获取该用户的照片,以便将其显示在页面上?

我假设任何用户都可以读取任何其他用户的 PhotoURL(这是有道理的,因为 PhotoURL 是针对您的公共图片的)但我不知道如何为任意用户查找它。我是不是很愚蠢并且遗漏了一些明显的东西?

【问题讨论】:

    标签: firebase angularfire


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 所以,我只使用用户名和密码身份验证并自己填充 photoURL 值。但最后我在 Firebase 中创建了一个用户部分,并将照片存储在那里。感谢您解释此值的用途。
    猜你喜欢
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 2017-04-07
    • 2017-01-08
    相关资源
    最近更新 更多