gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:29:50 27 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;
}
}
}

它是来 self 的聊天引用中的东西吗?

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,然后从列表中选择 Realtime Database 来更改实时数据库规则。

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/52126720/

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