首页 > 解决方案 > 从 Firebase 获取数据 关于 Firebase 中的数据更改使用 Python

问题描述

如何从 firebase 实时数据库中获取数据。

我试过这个示例代码。

from firebase import Firebase

config = {
  "apiKey": "apiKey",
  "authDomain": "projectId.firebaseapp.com",
  "databaseURL": "https://databaseName.firebaseio.com",
  "storageBucket": "projectId.appspot.com",
  "serviceAccount": "path/to/serviceAccountCredentials.json"
}

firebase = Firebase(config)

db = firebase.database()

def stream_handler(message):
    print(message["event"])
    print(message["path"])
    print(message["data"])


my_stream = db.child("User").stream(stream_handler)

但它不起作用。

有没有其他方法可以做到这一点?

标签: pythonfirebase

解决方案


我在stream_handler中也遇到错误,所以我使用了 pyrebase
希望它也适用于你。

尝试使用pyrebase

pip install Pyrebase

如果您在安装时遇到版本错误,请尝试此操作。

pip3 install pyrebase4 

来自github的资源,点击查看更多。

并尝试此代码

import pyrebase

config = {
  "apiKey": "apiKey",
  "authDomain": "projectId.firebaseapp.com",
  "databaseURL": "https://databaseName.firebaseio.com",
  "storageBucket": "projectId.appspot.com"
}

firebase = pyrebase.initialize_app(config)

db = firebase.database()

def stream_handler(message):
    print(message["event"]) # put
    print(message["path"]) # /-K7yGTTEp7O549EzTYtI
    print(message["data"]) # {'title': 'Pyrebase', "body": "etc..."}

my_stream = db.child("users").stream(stream_handler)

stream_handler如果 firebase 实时数据库发生任何变化,将运行


推荐阅读