在 android 中以其他用户身份登录时编辑解析用户信息

edit parse user information when logged in as other user in android

我在我的 android application.when 中使用 parse.com 我访问其他用户的个人资料,我能够关注该用户但是当我关注他时,当前登录的以下列中的值用户对象中的更新,但同时我关注的用户的值未更新 它给出:

06-27 05:11:44.521: E/AndroidRuntime(2459): java.lang.IllegalArgumentException: Cannot save a ParseUser that is not authenticated.

这是我的 android 代码 包裹 com.example.wavie.parseQueryRunner;

import android.content.Context;

import com.parse.GetCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import com.parse.ParseUser;

public class FollowUserClass {
    private String id;
    private Context context;

    public FollowUserClass(String id, Context context) {
        this.id = id;
        this.context = context;

    }

    public void follow() {
        ParseUser currentUser=ParseUser.getCurrentUser();
        currentUser.addUnique("following", id);
        try {
            currentUser.save();
            ParseQuery<ParseObject> query=new ParseQuery<ParseObject>("_User");
            query.getInBackground(id, new GetCallback<ParseObject>() {

                @Override
                public void done(ParseObject object, ParseException e) {
                    // TODO Auto-generated method stub
                    if(e==null && object!=null){
                        object.addUnique("followers", ParseUser.getCurrentUser().getObjectId());
                        try {
                            object.save();
                        } catch (ParseException e1) {
                            // TODO Auto-generated catch block
                            e1.printStackTrace();
                        }
                    }

                }
            });
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



    }
}

在代码部分构造函数获取我想要的用户的对象 ID follow.first 它更新当前登录的用户在以下字段(数组)中添加获取的 ID。

然后我尝试通过添加行

在其他用户的对象中进行更新
    object.addUnique("followers", 
ParseUser.getCurrentUser().getObjectId());

但是当我保存它时,解析用户应该在保存之前进行身份验证

错误提到这里的问题。用户未通过身份验证无法执行该操作。当在解析中更新一行的用户不是创建相应行的用户时,就会发生这种情况。

所以您可能应该向正在更新条目的用户授予写入权限。

第二天我找到了答案 question.that 一次,唯一的方法是部署云代码。 实际上,我想更新的用户是其他用户,因此无法在 database.parse 中更新其他人的信息。通过在服务器。 parse 提供了一个命令行工具来执行此操作 for linux 运行 以下命令安装 卷曲-s https://www.parse.com/downloads/cloud_code/installer.sh |须藤 /bin/bash

安装成功后,将在 home/etc/ 中创建一个名为 parse 的文件夹。 现在键入命令解析 $configure accountkey -d 在终端上,它会询问您的解析凭据。 现在在终端上输入 parse 命令到 select 您现有的应用程序之一。 现在你在 home/etc/parse 编辑中打开 main.js 文件。 使用切换到终端部署代码 $parse 部署命令。 现在您可以开始了 云代码已部署