"无法保存未经过身份验证的ParseUser"

时间:2016-01-15 08:01:24

标签: parse-platform

我正在尝试在authData字段android中保存数据,但我得到异常:无法保存未经过身份验证的ParseUser"仅在阅读用户

之后
ParseQuery<ParseUser> query = ParseUser.getQuery();
    query.whereEqualTo("username", email);
    query.findInBackground(new FindCallback<ParseUser>() {
        @SuppressWarnings("deprecation")
        public void done(List<ParseUser> scoreList, ParseException e) {
            if (e == null) {
                if(scoreList.size()>0){
                    facebook_user = (ParseUser) scoreList.get(0);
                    facebook_user.isAuthenticated()
                    JSONObject obj = new JSONObject();
                    try {
                        obj.put("name", "xyz");
                    } catch (JSONException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                    facebook_user.put("authdata", obj);
                    facebook_user.saveInBackground(new SaveCallback() {
                        @Override
                        public void done(ParseException e) {
                        // exception in this section //
                        //Cannot save a ParseUser that is not authenticated"                 after only reading the user//
                        });

                }else{

                }
            } else {
                Log.d("score", "Error: " + e.getMessage());
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

在保存之前,您似乎试图使用.put()修改该用户:

facebook_user.put("authdata", obj);
facebook_user.saveInBackground(new SaveCallback() {
  @Override
  public void done(ParseException e) {
    // exception in this section //

 });

如果要更改用户,则需要以用户身份登录,使用masterKey对Cloud Code执行更改,或更改用户对象的ACL。 Here's a SO post with a bit more info

如果您还有其他问题,请与我们联系。