我现在已经坚持了很长时间,一定是傻事啊!
我有这个使用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"
}
}
存储结构:
答案 0 :(得分:1)
根据this issue on Pyrebase's GitHub,您需要add a service account credential才能下载存储文件。这允许Pyrebase作为管理员对Firebase进行身份验证,并忽略任何安全规则。