【问题标题】:Unable to download files from firebase through pyrebase无法通过 pyrebase 从 firebase 下载文件
【发布时间】:2018-01-16 09:06:41
【问题描述】:

我卡了好久,一定是傻了!!!

我有这个使用 pyrebase 连接到 Firebase 的简单代码:

db = firebase.database()
auth = firebase.auth()
storage = firebase.storage()
user = auth.sign_in_with_email_and_password('user','pwd')

tok = user['idToken']

try:
    files = db.child("files").get(tok)
    l = []
    for f in files.each():
        l = f.val()
        print(l)
        storage.child(l).download(l,token=tok)
        # url = storage.child(l).get_url(tok)  -----This line gets the proper URL
except Exception as e:
    print(e)

我正在从 DB 正确访问数据,但下载任务什么也没做。我不知道我在这里做错了什么。

提前致谢!

编辑 1: 根据建议:

数据库结构:

{
  "files" : {
    "-L2vvsSL3l95QZqMILRb" : "car_WIFI_6cf4d4f1-4bfe-488b-b671-d0f816cd5e65.txt",
    "-L2vvsSScNqiUZ-HYTM1" : "car_GPS_6cf4d4f1-4bfe-488b-b671-d0f816cd5e65.txt"
  }
}

及存储结构:

【问题讨论】:

  • 你能发布你的数据库和存储结构吗?
  • 是的,文件直接保存在存储的根目录中。相同的文件名保存在数据库的“文件”中,因为需要一次获取所有上传的文件。
  • 对不起,我可能表述有误。我的意思是:您能否向我们展示您的 Firebase 数据库和 Firebase 存储的结构?如果我们能看到您的 JSON 树,我们将更容易为您提供帮助。
  • 我浏览了他们的(pyrebase)问题日志,提到建议使用服务帐户。但它没有提到是强制性的。这是个问题吗?
  • 不知道怎么分享,截图帮不上我猜?

标签: python firebase firebase-realtime-database firebase-storage


【解决方案1】:

根据this issue on Pyrebase's GitHub,您需要add a service account credential才能下载存储文件。这允许 Pyrebase 以管理员身份向 Firebase 进行身份验证,而无需考虑任何安全规则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    • 2021-08-21
    相关资源
    最近更新 更多