Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python从Firebase存储下载文件链接_Python_Firebase_Flask_Firebase Storage - Fatal编程技术网

使用python从Firebase存储下载文件链接

使用python从Firebase存储下载文件链接,python,firebase,flask,firebase-storage,Python,Firebase,Flask,Firebase Storage,似乎firebase python API的文档非常缺乏。我想做的是通过我的Flask应用程序获得firebase存储中文件夹中所有文件的下载链接。我最近的做法是: 来自firebase\u管理导入存储 bucket=storage.bucket() blob=bucket.blob('articles/'+aid+'/resources')) 服务器\u路径=blob.generate\u签名\u url(datetime.timedelta(seconds=99999999),方法='GET

似乎firebase python API的文档非常缺乏。我想做的是通过我的Flask应用程序获得firebase存储中文件夹中所有文件的下载链接。我最近的做法是:

来自firebase\u管理导入存储
bucket=storage.bucket()
blob=bucket.blob('articles/'+aid+'/resources'))
服务器\u路径=blob.generate\u签名\u url(datetime.timedelta(seconds=99999999),方法='GET')
打印(服务器路径)
问题是
blob=bucket.blob('articles/'+aid+'/resources')
指向存储中的一个文件夹,当我试图获取该文件夹的下载链接时,该链接不起作用

现在我可以用两种不同的方法来解决这个问题:

  • 找到一种方法压缩文件夹a,然后获得下载链接
  • 列出文件夹中的文件,然后获取每个文件的下载链接
不幸的是,我找不到任何关于如何在python中执行这两个任务的文档。
另外,我已经在使用firebase_admin初始化我的应用程序,我不想切换到pyrebase或其他第三方库。

好的,我更仔细地阅读了firebase_admin文档,它说:

您可以在中使用AdminSDK返回的bucket引用 与官方的Google云存储客户端库一起 上载、下载和修改与关联的存储桶中的内容 你的Firebase项目。请注意,您不必进行身份验证 使用Firebase Admin SDK时使用Google云存储库。这个 管理员SDK返回的bucket引用已经过身份验证 使用用于初始化Firebase应用程序的凭据

因此,我访问了google.cloud文档,使用了他们的代码,而不必初始化google.cloud存储,只需将其作为存储firebase_admin之一传递。因此,要列出bucket中的所有对象:


好的,我更仔细地阅读了firebase_管理文档,它说:

您可以在中使用AdminSDK返回的bucket引用 与官方的Google云存储客户端库一起 上载、下载和修改与关联的存储桶中的内容 你的Firebase项目。请注意,您不必进行身份验证 使用Firebase Admin SDK时使用Google云存储库。这个 管理员SDK返回的bucket引用已经过身份验证 使用用于初始化Firebase应用程序的凭据

因此,我访问了google.cloud文档,使用了他们的代码,而不必初始化google.cloud存储,只需将其作为存储firebase_admin之一传递。因此,要列出bucket中的所有对象:

blobs = list(bucket.list_blobs())