无法为firebase Swift 3写入值

时间:2017-01-22 13:30:34

标签: ios swift firebase firebase-realtime-database firebase-security

我在Firebase中启用了电子邮件(自定义)身份验证,我已设置以下规则

{
  "rules": {
  ".read": "auth == null", //even non-authorised users CAN read
  ".write": "auth == null" //even non-authorised users CAN write
  }
}

尝试使用以下代码测试Firebase

    let rootRef = FIRDatabase.database().reference()
    let playlists = rootRef.child("playlists")
    playlists.setValue("test")

不确定什么是错的,但它给出了setValue和RemoveValue Permission denied错误。

无法理解什么是错的,我是Firebase的新手

1 个答案:

答案 0 :(得分:1)

这是解决方案

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

这些规则允许所有人读取和写入整个Firebase节点。好的测试,但请不要这样,因为它完全不安全。

另请注意,您的代码每次都会删除播放列表节点,并使用

覆盖它
your_firebase_ref
   playlists: "test"

只是为了让您朝着正确的方向前进,这里的更新代码将在每次运行时创建一个新节点。

let rootRef = FIRDatabase.database().reference()
let playlists = rootRef.child("playlists")
let aNewPlayList = playLists.childByAutoId()
aNewPlayList.setValue("test")

将导致

your_firebase_ref
   playlists
      -Yius889jsijs: "test"  //first time it's run
      -YUOmsooaosd9: "test"  //second time it's run

-Y ....键由childByAutoId创建,通常是在节点内创建子键的方法。