使用Python从Firebase获取有关Firebase中数据更改的数据

2024-06-18 11:18:08 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从firebase live数据库获取数据

我尝试了这个示例代码

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)

但它不起作用

还有别的办法吗


Tags: pathcomliveconfigmessagedbstreamservice
2条回答

我在流处理程序中也会遇到错误,因此我使用了pyrbase
希望它也适用于你

尝试使用pyrebase

pip install Pyrebase

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

pip3 install pyrebase4 

来自github, click for more.的资源

然后试试这个代码

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)

如果firebase live数据库中发生任何更改,将运行stream_handler

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

>> {'title': 'firebase', "body": "Python interface to the Google's Firebase REST APIs"}

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

相关问题 更多 >