我正在尝试在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());
}
}
});
答案 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
如果您还有其他问题,请与我们联系。