android–Firebase聊天应用程序setValue与公共数据库失败错误?

android–Firebase聊天应用程序setValue与公共数据库失败错误?,第1张

概述我有一个使用Firebase的聊天应用程序,它继续使用setValueatxfailed:DatabaseError:permissiondenied每次输入消息时都会出错.我已将数据库设置为公开:servicecloud.firestore{match/databases/{database}/documents{match/{allPaths=**}{allowr

我有一个使用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 the Firebase console,则可以通过单击顶部的Cloud Firestore BETA,然后从列表中选择实时数据库来更改为实时数据库规则.

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

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

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

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

总结

以上是内存溢出为你收集整理的android – Firebase聊天应用程序setValue与公共数据库失败错误?全部内容,希望文章能够帮你解决android – Firebase聊天应用程序setValue与公共数据库失败错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存