我是firebase的新手。我想在我的应用程序中使用firebase读取/写入数据,但是当我尝试这样做时,出现DatabaseError: Permission denied
错误。DatabaseError:权限被拒绝firebase
规则上的火力点
{
"rules": {
"sos":{
".read":"auth != null",
".write":"auth != null"
}
}
}
代码文件文件
Firebase authFirebaseRef = new Firebase(ApiConstants.FIREBASE_MY_URL);
authFirebaseRef.authWithCustomToken(AppConstants.FBT, authResultHandler);
Firebase.AuthResultHandler authResultHandler = new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
Log.v("onAuthenticated", authData.getUid());
addEvents();
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
Log.v("onAuthenticationError= ", "FirebaseError= " + firebaseError.toString());
}
};
private void addEvents() {
mFirebaseDatabase = mFirebaseInstance.getReference("sos").child("emergencyservices");
mFirebaseDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
emergencyServicesList.clear();
for (DataSnapshot dataSnapshotChild : dataSnapshot.getChildren()) {
Log.v("onDataChange", ":" + dataSnapshotChild.child("emergencyServicesName").getValue());
EmergencyServiceModel emergencyServiceModel = new EmergencyServiceModel();
emergencyServiceModel.setEmergencyServiceId(dataSnapshotChild.child("emergencyServicesId").getValue().toString());
emergencyServiceModel.setEmergencyServiceName(dataSnapshotChild.child("emergencyServicesName").getValue().toString());
emergencyServicesList.add(emergencyServiceModel);
}
loadDataToRecyclerView();
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.v("DatabaseError", databaseError.getMessage());
}
});
}
早些时候,我在sos/emergencyservices
添加一些记录通过保持.true
到read/write
。但现在我必须通过认证来改变它。
检查此链接https://stackoverflow.com/questions/37424544/firebase-database-permission-denied-with-read-write-permissions-set-to-true –
你启用从控制台登录? –
@akshay_shahane是的,我已经做过 – VVB