基本上,我正在尝试从Firebase实时数据库中读取数据。我收到拒绝的权限。
Firebase控制台->数据库->规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
我的应用代码:
const db = firebase.database(firebase.initializeApp(
{databaseURL: “myApp.firebaseio.com"}
))
db.ref("/budgets/currentBudget")
.once("value")
.then((snapshot)=>console.log(snapshot))
由于我设置了规则,我希望可以连接到数据库并能够读取数据。我收到此错误:
错误:
index.cjs.js:738 Uncaught (in promise) Error: permission_denied at /budgets/currentBudget: Client doesn't have permission to access the desired data.
at errorForServerCode (index.cjs.js:738)
at onComplete (index.cjs.js:10124)
at Object.onComplete (index.cjs.js:14314)
at index.cjs.js:13289
at PersistentConnection.onDataMessage_ (index.cjs.js:13594)
at Connection.onDataMessage_ (index.cjs.js:12735)
at Connection.onPrimaryMessageReceived_ (index.cjs.js:12728)
at WebSocketConnection.onMessage (index.cjs.js:12607)
at WebSocketConnection.appendFrame_ (index.cjs.js:12144)
at WebSocketConnection.handleIncomingFrame (index.cjs.js:12203)
at WebSocket.mySock.onmessage (index.cjs.js:12078)
有一些关于此的问题,但是当规则在读取和写入时都简单地更改为true时,大多数问题都可以解决。有任何想法如何使它正常工作吗?
答案 0 :(得分:0)
您显示的规则不适用于Firebase实时数据库。这些用于Cloud Firestore,这是一个完全不同的数据库。实时数据库具有不同的规则语言,这些语言被输入到Firebase控制台的不同部分。开始学习Realime数据库规则here。