“无法使用经过身份验证的用户保存未经过身份验证的ParseUser”

时间:2016-02-22 14:05:48

标签: android parse-platform

我正在使用Parse作为我的后端,我正试图“喜欢”另一个用户在应用上发布的帖子。我正在查询获取帖子,然后将喜欢的数量增加1,然后将当前用户的对象ID添加到一个数组中,该数组包含喜欢该帖子的所有用户ID。

// printing
void afisare(int *prime, int index)
{
    int i=0;
    printf("Numerele prime sunt:");
    for (i = 0 ; i <= index ; i++)
        printf("%d", prime[i]);
        //                ^^^
}

我得到的错误:

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());
                                                }
                                            }
                                        });
                                    }
                                });

我从某处看到了ParseUser的源代码:

E/SAVE: Not saved :( :java.lang.IllegalArgumentException: Cannot save a ParseUser that is not authenticated.

在我的代码中执行相同类型的检查会发现currentUser 是AUTHENTICATED而非DIRTY。

问题是什么?说实话,我想说它在今天之前工作得很好,但很明显我正在改变一些事情并犯了一个错误,我无法找到它!任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我通过创建一个具有相同数据结构/布局的全新Parse应用程序解决了这个问题。它只是简单地工作而没有任何代码更改。

You can follow the issue on GitHub here