我已经成功注册了一个用户,并在他们在相同请求中全部注册之后不久就对其进行了正确签名。同样在我的请求中,我尝试使用python软件包Pyrebase将用户信息存储在Firebase数据库中。
我已经在我的flask应用程序中正确初始化了我的firebase应用程序以及firebase数据库
Subject
我正在创建这本词典
ReplaySubject
并将其传递到应该(或者至少我认为确实如此)的set函数中,将JSON对象保存到Firebase数据库中。
config = {
"apiKey": "apikey",
"authDomain": "proj.firebaseapp.com",
"databaseURL": "https://proj.firebaseio.com",
"storageBucket": "proj.appspot.com",
"messagingSenderId": "930158028418",
"serviceAccount.json": "path/to/theServiceAccountStuff.json"
}
app = Flask(__name__)
firebase = pyrebase.initialize_app(config)
auth = firebase.auth()
firedb = firebase.database()
我试图将用户存储在“用户”下,然后使用自定义键(即他们的localId)将他们全部分类。
由于某种原因,每次我碰到上面的代码行时,我都会得到一个错误提示
userInfo = {"email": email, "password": password, "stripeID": customer.id, "subscriptionID": subID,"subscription": "active", "startdate": "Today bro"}
这些是我在firebase中的数据库规则
我缺少什么吗?我什至更进一步地删除了所有规则,以便任何人都可以访问它,并且我还输入了虚拟数据,以查看其是否有效。虚拟数据是可能的,因为我是手动输入所有信息。
答案 0 :(得分:1)
您正尝试使用Pyrebase写入Firebase实时数据库,但是您的项目数据库已配置为使用Cloud Firestore。
这些数据库不同。
如果您在托管服务上使用Python,请考虑切换到Firebase Admin SDK for Python。当您使用服务帐户时,这就是方法。这也使您可以制作choice between using Cloud Firestore and the Realtime Database。
如果您在客户端设备上使用Python,即使它是本地Web服务器,出于安全原因,也不应使用服务帐户,而应选择客户端身份验证。如果您希望使用Pyrebase,则在撰写本文时,需要使用屏幕快照中“数据库”一词旁边的下拉菜单,将项目的数据库切换为使用实时数据库。这是因为Cloud Firestore当前没有Pyrebase用作其后端的REST API。有关更多信息,请参见Firebase Realtime Database documentation。
答案 1 :(得分:0)
为我工作:
Firebase控制台->实时数据库->规则
编辑规则: { “规则”:{ “ .read”:“ true”, “ .write”:“ true”, } }