簡體   English   中英

使用 python 從 Firebase 存儲下載文件鏈接

[英]Download files link from Firebase storage with python

似乎非常缺乏有關 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')指向存儲中的一個文件夾,當我嘗試獲取該文件夾的下載鏈接時,該鏈接不起作用。

現在我可以用兩種不同的方式解決這個問題:

  • 找到一種方法來壓縮文件夾 a 然后獲取下載鏈接
  • 列出文件夾中的文件,然后獲取每個文件的下載鏈接

不幸的是,我找不到有關如何在 python 中執行這兩個任務的任何文檔。 附注。 我已經在使用 firebase_admin 來初始化我的應用程序,我不想切換到 pyrebase 或其他第三方庫。

好的,我更仔細地閱讀了 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 存儲,而只是將 firebase_admin 作為存儲傳遞。 因此,要列出存儲桶中的所有對象: https : //cloud.google.com/storage/docs/listing-objects

blobs = list(bucket.list_blobs())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM