Firebase上的多次更新期间权限被拒绝错误

时间:2016-11-28 15:12:28

标签: javascript firebase firebase-realtime-database firebase-authentication

我在Firebase上使用多个更新功能,我在其中创建了一个对象,该对象一次更新数据库中的多个位置。我已单独为每个位置提供写入权限。以下是我尝试在Firebase上作为多个更新的一部分进行更新的示例

{
  "alarms/298302f2-f95d-4200-b2ca-53dcf5706125/date": 1478141940167,
  "userInfos/-KGvMbo5MK-W5q4qgcF0/alarms/298302f2-f95d-4200-b2ca-53dcf5706125": 1478141940167,
  "userInfos/-KGvMIPwul2dUY181xLQ/backupForAlarms/298302f2-f95d-4200-b2ca-53dcf5706125": 1478141940167,
  "alarms/57656d1f-4c01-4807-93ea-44ab42791140/date": 1479979440107,
  "userInfos/-KGvMbo5MK-W5q4qgcF0/alarms/57656d1f-4c01-4807-93ea-44ab42791140": 1479979440107
}

我们说firebaseUpdateObj包含上述对象。我使用下面的代码行来执行更新

firebase.database().ref().update(firebaseUpdateObj)

我在控制台上看到以下错误

FIREBASE WARNING: update at / failed: permission_denied

我已对规则文件中的alarmsuserInfos分支授予了写入权限,并且我可以使用firebase.database().ref().child('alarms').child(alarmId).set(alarm)firebase.database().ref().child('userInfos').child(uid).set(userInfo)在这两个位置进行写入。但看起来当我提供上述更新命令时,它试图检查我是否在/位置有写入权限,我显然不会这样做。

这是预期的行为吗?我能够在服务器端运行类似的更新命令,但我有服务器权限,所以我猜这些规则不会在那里出现。我使用的是Firebase 3.3.0

0 个答案:

没有答案