无法通过pyrebase从firebase下载文件

时间:2018-01-15 23:16:50

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

我现在已经坚持了很长时间,一定是傻事啊!

我有这个使用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)

我正在从数据库正确访问数据,但下载任务不执行任何操作。我不知道我在这里做错了什么。

提前致谢!

编辑1: 根据建议:

数据库结构:

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

存储结构:

Data Storage Screenshot

1 个答案:

答案 0 :(得分:1)

根据this issue on Pyrebase's GitHub,您需要add a service account credential才能下载存储文件。这允许Pyrebase作为管理员对Firebase进行身份验证,并忽略任何安全规则。