我的问题是,我收到此错误:
com.google.firebase.database.DatabaseException: Firebase Database error: Invalid token in path
,当我更新此代码中的用户节点时:
Map<String, Object> userUpdate = new HashMap<>();
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/profile_data/age", age);
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/profile_data/email", userEmail);
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/profile_data/gender", gender);
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/profile_data/name", userName);
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/profile_data/photo", "");
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/profile_data/video", "");
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/chat_data/osPlayerID", "");
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/chat_data/name", userName);
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/chat_data/photo", "");
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/chat_data/video", "");
userUpdate.put("/" + Constants.Users + "/" + userEncEmail + "/status", false);//Set false by default
FirebaseDatabase.getInstance().getReference().updateChildren(userUpdate).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Firebase数据库到此特定节点的规则为:写入和读取时为true。
Json预计会:
{
$UserEMail: {
chat_data: {
name: "",
osPlayerID: "",
photo: "",
video: ""
},
profile_data: {
age: (int),
email: "";
gender: (int),
name: "",
photo: "",
video: ""
},
status: (boolean)
}
}
答案 0 :(得分:6)
问题是,当Firebase不接受点作为节点键的一部分时,我试图插入像email@example.com
这样的电子邮件