似乎缺少关于Firebase python API的文档。我想通过我的Flask应用程序获得Firebase存储上一个文件夹中所有文件的下载链接。我最新的方法是:
from firebase_admin import storage
bucket = storage.bucket()
blob = bucket.blob('articles/'+aid+'/resources')
server_path = blob.generate_signed_url(datetime.timedelta(seconds=999999999), method='GET')
print(server_path)
问题是blob = bucket.blob('articles/'+aid+'/resources')
指向存储中的文件夹,当我尝试获取该文件夹的下载链接时,该链接不起作用。
现在我可以用两种不同的方法解决这个问题:
不幸的是,我找不到关于如何在python中执行这2个任务的任何文档。 PS。我已经在使用firebase_admin来初始化我的应用程序,而我不希望切换到pyrebase或其他第三方库。
答案 0 :(得分:1)
好吧,我仔细阅读了firebase_admin文档,上面写着:
https://firebase.google.com/docs/storage/admin/start
您可以在以下位置使用Admin SDK返回的存储桶引用 与官方的Google Cloud Storage客户端库结合使用 上传,下载和修改与以下内容相关的存储桶中的内容 您的Firebase项目。请注意,您不必进行身份验证 使用Firebase Admin SDK时的Google Cloud Storage库。的 Admin SDK返回的存储桶引用已通过身份验证 带有用于初始化Firebase应用程序的凭据。
所以我去了google.cloud文档,我使用了他们的代码,而不必初始化google.cloud存储,而只是通过 storage 传递了firebase_admin。因此,列出存储桶中的所有对象: https://cloud.google.com/storage/docs/listing-objects
blobs = list(bucket.list_blobs())