Python 免费计划中的Firebase存储:要计费的项目与不存在的计费帐户关联

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

我试图将图片上传到我的firebase存储帐户,但每当我运行代码时,就会出现403 HTTP错误:“要计费的项目与缺少的计费帐户关联”请注意,我使用的是免费订阅(spark计划),因此此问题与不同:

更详细的错误:

"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错误消息有误导性!!但非常感谢!!