Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 如何获取上传文件的url?_Python_Google Cloud Storage_Firebase Storage_Firebase Admin - Fatal编程技术网

Python 如何获取上传文件的url?

Python 如何获取上传文件的url?,python,google-cloud-storage,firebase-storage,firebase-admin,Python,Google Cloud Storage,Firebase Storage,Firebase Admin,我上传了一个mp4文件,如下所示: import firebase_admin from firebase_admin import credentials from firebase_admin import storage cred = credentials.Certificate('my-app-service.json') firebase_admin.initialize_app(cred, { 'storageBucket':

我上传了一个mp4文件,如下所示:

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import storage
    cred = credentials.Certificate('my-app-service.json')
    firebase_admin.initialize_app(cred, {
        'storageBucket': 'amy-app-name.appspot.com'
    })

    bucket = storage.bucket()
    blob = bucket.blob('teamfk.mp4')
    blob.upload_from_filename('path/to/teamfk.mp4')
现在我找不到语法来获取对上传url的引用

要添加,我应该能够从浏览器查看/下载。 它不需要经过身份验证,公开就可以了。 依照

文件的公共URL可以使用

blob.make_public()
blob.public_url
依照

文件的公共URL可以使用

blob.make_public()
blob.public_url

还有一条路!如果您想生成一个只在特定时间范围内有效的URL,您可以使用这种方式来完成

file_url = blob.generate_signed_url(datetime.timedelta(days=1), method='GET') #this URL only valid for 1 day

有关更多详细信息,请参阅链接:

这里是另一种方式!如果您想生成一个只在特定时间范围内有效的URL,您可以使用这种方式来完成

file_url = blob.generate_signed_url(datetime.timedelta(days=1), method='GET') #this URL only valid for 1 day

有关更多详细信息,请参阅链接:

检查此答案的+1。OP似乎对存储对象具有ACL权限,从而阻止直接访问。OP在前面的注释中提供的URL包括&token=。。。参数,该参数可能用于验证访问请求。@Spenced url也不同,即使我附加了相同的令牌,它也不起作用。public_url给出storage.googleapis.com,但firebase控制台上的链接是firebasestorage.googleapis.com/v0/bseems存储令牌与firebasestorage不同,即使我使用的是相同的服务帐户json@毗湿奴德夫在公开后,它起了作用。伟大的谢谢你,伙计。这个答案打+1。OP似乎对存储对象具有ACL权限,从而阻止直接访问。OP在前面的注释中提供的URL包括&token=。。。参数,该参数可能用于验证访问请求。@Spenced url也不同,即使我附加了相同的令牌,它也不起作用。public_url给出storage.googleapis.com,但firebase控制台上的链接是firebasestorage.googleapis.com/v0/bseems存储令牌与firebasestorage不同,即使我使用的是相同的服务帐户json@毗湿奴德夫在公开后,它起了作用。伟大的谢谢你,伙计。