【问题标题】:Firebase Google/Fb auth: How to permanently fetch user's profile pic? [closed]Firebase Google/Fb auth:如何永久获取用户的个人资料图片? [关闭]
【发布时间】:2020-01-05 01:11:14
【问题描述】:

我正在开发一个安卓应用程序。我知道我可以通过 FirebaseAuth.getInstance().getCurrentUser().getPhotoUrl() 获取当前登录用户的个人资料图片 URI,并使用 Glide 在我的应用程序中显示它。这将允许当前用户查看他自己的个人资料图像。但是,我的应用程序提供了用户可以查看其他用户个人资料的功能。如何显示其他用户的头像?

我的想法是我需要一种方法来永久下载他在应用程序上注册的用户的个人资料图片,然后将图像存储在像 s3 这样的永久商店中。然后我可以通过一些 API 获取该图像。

假设:所有个人资料图片均来自 Fb/Google 身份验证。用户不会直接在我的应用上上传图片。

【问题讨论】:

    标签: android facebook firebase firebase-authentication google-authentication


    【解决方案1】:

    首先是的,您无法使用当前登录的用户身份验证对象获取其他用户的个人资料图片。您只能获取您的详细信息。 但是您可以通过一些工作来获取个人资料图片。当任何用户在应用程序上注册时,将图像 url 存储在 firebase 或 firestore 数据库中的节点名称“images”中,或者可能是“users”或您喜欢的任何名称。 它比在 s3 上下载和存储图像然后查询它更简单。

    【讨论】:

    • 我可以存储 URL,但该 URL 只能由该 URL 所属的用户访问。我认为其他用户无法从 graph.facebook 等 URL 获取图像。
    • 您必须将图像保存在 firebase 上,然后将 url 存储到 firebase 数据库。您无法通过 facebook 访问他人的数据,只能访问基本信息。
    • 这正是我要问的。如何从 google 和 facebook 获取用户的图像并将其存储在 s3 或 firebase 中?
    • 当您通过 Facebook 登录时,Facebook 会为您提供您的图片网址。将此 imageurl 加载到您的 imageview 上。从 Imageview 创建图像。将该图像加载到 Firebase 存储或 s3 上。将该图像 url 添加到 firebase 数据库。它只是一种方法。你可能会得到更简单的方法来做到这一点。但这也可以。
    猜你喜欢
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 2021-04-04
    相关资源
    最近更新 更多