将数据保存到Parse.com云中以供其他用户使用

时间:2015-03-17 12:44:23

标签: android parse-platform

我有一个适用于用户的应用,并提供按当前用户选择关注某些用户的可能性。

不幸的是,我不知道如何修改不是当前用户的用户的数据。我没有看到Parse.com文档中所述的任何内容(或者我错过了)。

我的数据库中有一列"用户"类称为" usersFollowed"当当前用户点击"关注"我想将当前用户添加到" usersFollowed"列表,但添加它们就像你将在下面的代码中看到的那样无效。

关注用户代码:

dialog = ProgressDialog.show(context, "",
                        "Following...", true);
                viewHolder.userFollow.setSelected(true);
                viewHolder.userFollow.setText("FOLLOWING");

                ParseQuery<ParseUser> userListQuery = ParseUser.getQuery();
                userListQuery.whereEqualTo("screenName", parseUserList.get(position).get("screenName").toString());
                userListQuery.findInBackground(new FindCallback<ParseUser>() {
                    @Override
                    public void done(List<ParseUser> parseObjects, ParseException e) {
                        parseUserFollowedList = new ArrayList<>();

                        if (parseObjects.get(0).getList("usersFollowed") == null) {
                            parseUserFollowedList.add(ParseUser.getCurrentUser());
                            parseObjects.get(0).addAll("usersFollowed", parseUserFollowedList);
                        } else {
                            parseUserFollowedList = parseObjects.get(0).getList("usersFollowed");
                            parseUserFollowedList.add(ParseUser.getCurrentUser());
                            parseObjects.get(0).addAll("usersFollowed", parseUserFollowedList);
                        }
                        parseObjects.get(0).saveInBackground(new SaveCallback() {
                            @Override
                            public void done(ParseException e) {
                                dialog.dismiss();
                            }
                        });
                    }
                });

.saveInBackground不起作用,因为它抛出异常:无法保存未登录用户的信息&#34;。

任何人都可以帮我解决这个问题吗?

干杯!

1 个答案:

答案 0 :(得分:1)

用户只能修改自己的数据。但是可以实现跟随的想法,只有当前用户的记录需要写访问权:如果杰克选择跟随吉尔,那么杰克写信给他的&#34;跟随&#34;关系。只要我们不试图表示&#34; followBy&#34;在吉尔的数据中(可以通过查询来实现)。

或者考虑User表表示真实人和您的应用之间的私人关系。使用您自己的自定义对象对用户的公共面的想法进行建模可能更有意义,并建模这些对象之间的关系。我在其他地方herehere提到了这个想法。