【问题标题】:Error when trying to upload facebook Uri to Firebase Storage尝试将 facebook Uri 上传到 Firebase 存储时出错
【发布时间】:2016-10-29 23:43:30
【问题描述】:

当用户使用 Facebook 登录(目前唯一的登录方式)并想发布一些东西时,我会先运行一些代码来上传他们的个人资料图片,以便其他用户可以看到原始发布者是谁。似乎我可以获取用户的个人资料图片 Uri,例如(从调试模式获取): https://graph.facebook.com/(FACEBOOKID)/picture?height=200&width=200&migration_overrides=%7Boctober_2012%3Atrue%7D

但是,当我运行时:

StorageReference posterPicture = mStorage.child("UsersPictures").child(profile.facebookID);
        posterPicture.putFile(profile.profilePictureURI).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {...});

它抛出一个错误,说“没有内容提供者”

W/System.err:java.io.FileNotFoundException:没有内容提供者:https://graph.facebook.com/(FACEBOOKID)/picture?height=200&width=200&migration_overrides=%7Boctober_2012%3Atrue%7D

错误代码:-13000,

HTTP 响应代码:0

谢谢

【问题讨论】:

    标签: android facebook-graph-api firebase firebase-storage


    【解决方案1】:

    简短的回答是 URI 必须是您文件系统上的一个文件(您必须下载它并重新上传它),或者您需要一个可以处理 HTTPS 方案的文件的内容解析器。

    也就是说,我的问题是:为什么?该文件已经托管在 Facebook 上,并且可以通过该 URL 轻松检索,那么为什么要再次上传呢?您可以非常轻松地在 Firebase 实时数据库中存储和共享该 URL,无需付费在 Firebase 存储中托管。

    【讨论】:

    • 我刚刚意识到 facebook 作为图形 api,如果您有他们的 facebook ID,您可以在其中获取用户的个人资料图片。现在可以了,非常感谢!
    猜你喜欢
    • 2022-01-08
    • 2020-08-22
    • 2017-01-11
    • 1970-01-01
    • 2023-02-24
    • 2019-12-18
    • 2020-04-23
    相关资源
    最近更新 更多