Python 免费计划中的Firebase存储:要计费的项目与不存在的计费帐户关联
我试图将图片上传到我的firebase存储帐户,但每当我运行代码时,就会出现403 HTTP错误:“要计费的项目与缺少的计费帐户关联”请注意,我使用的是免费订阅(spark计划),因此此问题与不同: 更详细的错误:Python 免费计划中的Firebase存储:要计费的项目与不存在的计费帐户关联,python,firebase,firebase-storage,Python,Firebase,Firebase Storage,我试图将图片上传到我的firebase存储帐户,但每当我运行代码时,就会出现403 HTTP错误:“要计费的项目与缺少的计费帐户关联”请注意,我使用的是免费订阅(spark计划),因此此问题与不同: 更详细的错误: "error": { "code": 403, "message": "The project to be billed is associated with an absent billing a
"error": {
"code": 403,
"message": "The project to be billed is associated with an absent billing account.",
"errors": [
{
"message": "The project to be billed is associated with an absent billing account.",
"domain": "global",
"reason": "accountDisabled",
"locationType": "header",
"location": "Authorization"
}
]
}
以下是我用Python编写的代码:
导入firebase\u管理
从firebase_管理员导入凭据,存储
导入操作系统
cred=credentials.Certificate(os.getenv(“FIREBASE\u CREDS”))
firebase_管理员初始化_应用程序(cred)
bucket=storage.bucket('profile\u pictures')
blob=bucket.blob(“test_image.jpg”)
blob.upload\u from\u string(测试\u图像\u路径)
问题是来自我的python代码,还是来自我需要在firebase中修复的某些设置?
在Spark计划中,我们应该有一些免费的存储空间(目前,我没有存储任何东西…问题在于您混淆了“bucket”和“filename” 您需要将以下值传递给
storage.bucket()
方法:gs://[your project id].appspot.com
和
您需要将完整文件名传递给bucket.blob()
,包括“文件夹”部分
请注意,您可以在Firebase控制台中看到文件夹,但实际上,它们不是真正的文件夹:它们只是从斜杠分隔的文件名生成的,以便简化Firebase控制台中的导航。您确定
profile\u pictures
是一个存储桶名称而不是“文件夹”名称吗(您可以在Firebase控制台中看到文件夹,但它们不是真正的文件夹,只是由斜杠分隔的文件名生成的)?你能展示你的Firebase云存储控制台的图片吗?这肯定是一个文件夹名!我看不到我能给出的任何其他值?好的,这就是问题所在…在bucket中,我应该给出我的appspot url。然后在bucket.blob中:“folder\u name/picture\u name”。如果可以的话,我认为HTTP错误消息有误导性!!但非常感谢!!