解析云JS脚本 - 错误代码:141

时间:2015-07-25 08:34:31

标签: javascript parse-platform

我在JS中编写了一个Parse Cloud脚本,在我的Objective-C应用程序中调用。当脚本被调用时,我得到一个代码错误:141。 这是代码,当用户接受来自另一个用户的朋友请求时,它会被调用(我也不完全熟悉JS):

Parse.Cloud.define("addFriendToFriendsRelation", function(request, response) {

Parse.Cloud.useMasterKey();

var friendRequestId = request.params.friendRequest;
var query = new Parse.Query("FriendRequest");

//get the friend request object
query.get(friendRequestId, {

    success: function(friendRequest) {

        //get the user the request was from
        var fromUser = friendRequest.get("from");
        //get the user the request is to
        var toUser = friendRequest.get("to");

        var relation = fromUser.relation("friends");
        //add the user the request was to (the accepting user) to the fromUsers friends
        relation.add(toUser);

        //save the fromUser
        fromUser.save(null, {

            success: function() {

                //saved the user, now edit the request status and save it
                friendRequest.set("status", "accepted");
                friendRequest.save(null, {

                    success: function() {

                        response.success("saved relation and updated friendRequest");
                    }, 

                    error: function(error) {

                        response.error(error);
                    }

                });

            },

            error: function(error) {

             response.error(error);

            }

        });

    },

    error: function(error) {

        response.error(error);

    }

});

});

非常感谢所有帮助和建议。谢谢。

编辑:在我的代码中,我打电话:

[PFCloud callFunctionInBackground:@"addFriendToFriendsRelation" withParameters:@{@"friendRequest" : friendRequest.objectId} block:^(id object, NSError *error) {

EDIT2:我在JS脚本中遇到的错误是最后一次

        error: function(error) {

        response.error(error);

    }

被召唤。

1 个答案:

答案 0 :(得分:0)

这将解决您的问题,您所要做的就是

添加

useMasterKey: true
在find方法中

。 将您的代码更改为此

Parse.Cloud.define("addFriendToFriendsRelation", function(request, response) {

Parse.Cloud.useMasterKey();

var friendRequestId = request.params.friendRequest;
var query = new Parse.Query("FriendRequest");

//get the friend request object
query.get(friendRequestId, {

   useMasterKey: true, success: function(friendRequest) {

        //get the user the request was from
        var fromUser = friendRequest.get("from");
        //get the user the request is to
        var toUser = friendRequest.get("to");

        var relation = fromUser.relation("friends");
        //add the user the request was to (the accepting user) to the fromUsers friends
        relation.add(toUser);

        //save the fromUser
        fromUser.save(null, {

            success: function() {

                //saved the user, now edit the request status and save it
                friendRequest.set("status", "accepted");
                friendRequest.save(null, {

                    success: function() {

                        response.success("saved relation and updated friendRequest");
                    }, 

                    error: function(error) {

                        response.error(error);
                    }

                });

            },

            error: function(error) {

             response.error(error);

            }

        });

    },

    error: function(error) {

        response.error(error);

    }

});

});