获取已上传的 blob/文件的 Firebase 存储令牌

use*_*603 6 python firebase firebase-storage

我有一个 python 应用程序,需要我将一些文件转储到 Firebase 存储桶中,更新 HTML 文件的 img 链接,以便它们指向之前上传的文件 + 令牌,然后将 HTML 文件本身保存到存储桶中以供以后使用。我遇到的问题是我似乎无法在 Python 中找到一种方法来获取 blob/文件的唯一标记。作为参考,我一直在使用 getDownloadURL 在 Javascript 中完成此操作,它为我提供了一个如下所示的 URL:https: //firebasestorage.googleapis.com/v0/b/[project].appspot.com/o/[bucket] %2Ffile.png?alt=媒体&令牌=[令牌]

当我使用 google-cloud-python blob 方法“路径”时,它会为我提供一个没有令牌的 URL,我已经可以自己构建该 URL:/b/[project].appspot.com/o/[bucket]%2Ffile .png

任何人都可以帮我指出可以使用什么方法来检索 blob/文件的令牌,以便我可以构建完整的 URL 的方向吗?

from firebase_admin import credentials
from firebase_admin import storage

try:
    cred = credentials.Certificate("serviceAccountKey.json")
    firebase_admin.initialize_app(cred, {
        'databaseURL': 'https://[project].firebaseio.com'
    })
except Exception as e:
    print str(e.message)

bucket = storage.bucket('[project].appspot.com')
blob1 = bucket.blob(userId + '/' + file)
with open(os.path.join(tmp_dir, file), 'rb') as my_file:
    blob1.upload_from_file(my_file)

#Now I need the token but this only prints the path I already know
print blob1.path
Run Code Online (Sandbox Code Playgroud)

小智 0

bucket = storage.bucket('[project].appspot.com')
blob1 = bucket.blob(userId + '/' + file)
with open(os.path.join(tmp_dir, file), 'rb') as my_file:
    blob1.upload_from_file(my_file)

# token here
metadata = bucket.get_blob('path_to_new_blob').metadata
Run Code Online (Sandbox Code Playgroud)