我正在尝试更新ParseUser中的字段,并且正在使用外部库在Java中使用Parse。
即使我获得了ParseUser对象,并且可以使用诸如getEmail(),getUsername()之类的函数,诸如setEmail(“ [email protected]”),put(“ friends”,list),setUsername(“ bom”)之类的函数,不行
关于如何解决这个问题的任何想法?
void updateParse(int id){
ParseQuery<ParseUser> query = ParseQuery.getQuery(ParseUser.class);
query.whereEqualTo("alikeId", 2);
query.findInBackground(new FindCallback<ParseUser>() {
public void done(List<ParseUser> results, parse4p.ParseException e) {
if ( results == null) {
println("Name not found within the class");
} else {
ParseUser temp = results.get(0);
temp.setEmail("[email protected]");
}
}
}
);
}
最佳答案
代码的第一个问题是,即使您设置了电子邮件,也从未真正运行temp.saveInBackground(),因此不会更新解析数据库。
更重要的是,Parse在其User类上具有默认安全性,它仅允许您编辑当前登录用户的值。因此,即使您要在当前上下文中使用temp.saveInBackground(),它也不起作用,因为User类的安全性不允许这样做。