私はこのコードでFirebaseデータベースからユーザーをフェッチしようとしているが、私はFirebase - 許可拒否フェッチユーザー
はエラーエラードメインは=コード= 1「アクセス許可が拒否されました」をcom.firebaseキャンセルこのエラーが出ますUserInfo = {NSLocalizedDescription =アクセス許可が拒否されました}
ルールはどのように設定する必要がありますか?
は、ここでは、コードです:
FIRDatabase.database().reference().child("users").observe(.childAdded, with: { (snapshot) in
print("snapshot \(snapshot)")
//all users right here n shyt
if let dictionary = snapshot.value as? [String: AnyObject] {
let user = User()
//class properties have to match up with firebase dictionary names
user.setValuesForKeys(dictionary)
self.users.append(user)
DispatchQueue.main.async {
self.messageTable.reloadData()
}
}
print(snapshot)
}, withCancel: { (error) in
print("cancel error \(error)")
})
これは私のFirebaseのルールです:あなたが唯一の自ノードのみにアクセスするには、現在のユーザーに権限を与えているあなたの現在のセキュリティルールを考える
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
あなたは間違いなく読むかどうかを検出するために 'withCancel'にコードを配置したいと思いますキャンセルされます。 http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/24788/detect-errors-when-reading-data-on-iosを参照してください。 #t = 201610271759080332703 –
最小のJSONツリー構造も与えてください。 – Dravidian
私はフランクがやったことを言って、エラーを取り消してエラーを返しました。エラードメイン= com.firebaseコード= 1 "Permission Denied" UserInfo = {NSLocalizedDescription = Permission Denied} " – user3462448