0
我正在使用Parse作为我的后端,并且试图“喜欢”另一位用户在该应用上发布的帖子。我正在查询以获取帖子,然后将喜欢的数量递增1,然后将当前用户的对象ID添加到数组中,该数组保存喜欢该帖子的所有用户ID。“无法保存未经过身份验证的ParseUser”与已通过身份验证的用户
carLikeQuery.getInBackground(carItem.getObjectId(), new GetCallback<ParseObject>() {
@Override
public void done(ParseObject object, ParseException e) {
object.increment("likes");
object.addUnique("usersWhoLike", ParseUser.getCurrentUser().getObjectId());
object.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if(e==null) {
Log.d("SAVE", "Like saved :)");
} else {
Log.e("SAVE", "Not saved :(:" + e.getLocalizedMessage());
}
}
});
}
});
我得到的错误:
E/SAVE: Not saved :(:java.lang.IllegalArgumentException: Cannot save a ParseUser that is not authenticated.
我看到某处的ParseUser的源代码:
void validateSave() {
if (getObjectId() == null) {
throw new IllegalArgumentException("Cannot save a ParseUser until it has been signed up. Call signUp first.");
}
if (!isAuthenticated() && isDirty()) {
throw new IllegalArgumentException("Cannot save a ParseUser that is not authenticated.");
}
}
做同一种检查在我的代码显示,当前用户是AUTHENTICATED而不是DIRTY。
问题是什么?说实话,我想说的是,今天之前它运行得很好,但显然我正在改变一些事情,并且犯了一个错误,我找不到它!任何帮助将不胜感激。
听起来像一个ACL问题。这些帖子是否设置为公开写入? – Manu
@Manu是的。我通过创建具有相同数据结构/布局的全新Parse应用程序来解决该问题。 – jaytj95