Я использую Parse в качестве моего бэкэнда, и я пытаюсь «понравиться» сообщение, которое другой пользователь разместил в приложении. Я запрашиваю, чтобы получить сообщение, а затем увеличил количество понравившихся на 1, а затем добавил идентификатор объекта текущего пользователя в массив, содержащий все идентификаторы пользователей, которым понравился пост.«Не удается сохранить 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.");
}
}
Doing такую же проверку в мой код показывает, что currentUser АУТЕНТИРОВАН И НЕ ГРАНИЦ.
В чем проблема? Честно говоря, я хочу сказать, что до сегодняшнего дня он работал очень хорошо, но, очевидно, я что-то менял и ошибался, и я не могу его найти! Любая помощь будет принята с благодарностью.
Звучит как проблема с ACL. Должны ли публичные записи? – Manu
@Manu Да. Я решил проблему, создав совершенно новое приложение Parse с той же структурой данных/макетом. – jaytj95