我正在尝试更新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类的安全性不允许这样做。

10-08 14:13