1

当我尝试运行我的代码时:

import pyrebase

    firebaseConfig = {
        "apiKey": "xxxxxx",
        "authDomain": "xxxxxx",
        "projectId": "xxxxxx",
        "storageBucket": "xxxxxxx",
        "serviceAccount": "xxxxxxxxx"
    }
    
    firebase_storage = pyrebase.initialize_app(firebaseConfig)
    storage = firebase_storage.storage()
    
    storage.child("uploads").put("xxxxxxx")

我收到一个错误:

self.database_url = 配置["databaseURL"]

KeyError:“数据库URL”

我不知道该怎么办。有人能帮我吗?

4

3 回答 3

4

当您创建新的 Firebase 项目时,默认情况下它不再创建实时数据库。这也意味着databaseURL默认情况下该密钥不再包含在配置片段中。

看起来 Pyrebase 仍然需要此密钥存在,这就是您收到错误的原因。

要尝试的两件事(按此顺序):

  1. 只需向 firebaseConfig 添加一个没有值的键或一个虚拟值:

    firebaseConfig = {
        "apiKey": "xxxxxx",
        "authDomain": "xxxxxx",
        "databaseURL": "xxxxxx",
        "projectId": "xxxxxx",
        "storageBucket": "xxxxxxx",
        "serviceAccount": "xxxxxxxxx"
    }
    
  2. 如果上述方法不起作用,您可以在 Firebase 控制台中创建一个实时数据库,然后从那里获取新的配置片段。

我还针对 Pyrebase 提出了不再需要此密钥的问题,这是所有官方 Firebase SDK 都已更新的功能。

于 2021-01-24T17:06:42.587 回答
3

添加

"databaseURL" : ""

firebaseConfig中(如果您不使用数据库)。

于 2021-02-04T18:30:13.110 回答
0

您需要在databaseURL配置中添加密钥。请看一下这个答案: KeyError: 'databaseURL' while Firebase Authentication in Python

于 2021-09-28T08:00:31.983 回答