gpt4 book ai didi

android - Firebase 聊天应用程序 setValue 公共(public)数据库失败错误?

转载 作者:行者123 更新时间:2023-11-30 10:43:38 24 4
gpt4 key购买 nike

我有一个使用 Firebase 的聊天应用,它一直具有

setValue at x failed: DatabaseError: permission denied

每次输入消息时都会出错。

我已经将我的数据库设置为公开:

service cloud.firestore {
match /databases/{database}/documents {
match /{allPaths=**} {
allow read, write: if request.auth.uid != null;
}
}
}

这是我的聊天引用中的内容吗?

private void displayChat() {

ListView listOfMessage = findViewById(R.id.list_of_message);

Query query = FirebaseDatabase.getInstance().getReference();
FirebaseListOptions<Chat> options = new FirebaseListOptions.Builder<Chat>()
.setLayout(R.layout.list_item)
.setQuery(query, Chat.class)
.build();

adapter = new FirebaseListAdapter<Chat>(options) {
@Override
protected void populateView(View v, Chat model, int position) {
//Get reference to the views of list_item.xml
TextView messageText, messageUser, messageTime;
messageText = v.findViewById(R.id.message_text);
messageUser = v.findViewById(R.id.message_user);
messageTime = v.findViewById(R.id.message_time);

messageText.setText(model.getMessageText());
messageUser.setText(model.getMessageUser());
messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)", model.getMessageTime()));
}
};
listOfMessage.setAdapter(adapter);
}

最佳答案

您的代码正在使用 Firebase 实时数据库,但您正在更改 Cloud Firestore 的安全规则。虽然这两个数据库都是 Firebase 的一部分,但它们完全不同,其中一个数据库的服务器端安全规则并不适用于另一个数据库。

当您进入 Firebase 控制台中的数据库面板时,您很可能会看到 Cloud Firestore rules :

Cloud Firestore rules in Firebase console

如果您使用Cloud Firestore rules in the Firebase console ,您可以通过点击顶部的 Cloud Firestore BETA 更改为实时数据库规则,然后从列表中选择实时数据库

Switching to Realtime Database rules in Firebase console

您还可以通过单击 this link 直接转到实时数据库的安全规则。 .

与您所拥有的实时数据库的安全规则相匹配的是:

{
"rules": {
".read": "auth.uid !== null",
".write": "auth.uid !== null"
}
}

这将授予任何经过身份验证的用户对整个数据库的完全读写访问权限。请阅读我对此问题的回答,了解有关此类规则的安全/风险权衡的更多信息:Firebase email saying my realtime database has insecure rules .

关于android - Firebase 聊天应用程序 setValue 公共(public)数据库失败错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com