Parse,Function仅适用于当前用户

时间:2014-09-08 02:09:31

标签: javascript jquery parse-platform

以下函数似乎只适用于我的当前用户,我在输入中输入的任何其他ObjectId将在控制台中返回Post(错误请求)错误。

var query =  new Parse.Query(Parse.User);
var userInput = $('#inputObject').val();
query.equalTo("objectId", userInput);
query.first({
    success: function(result) {
        console.log(result.id);
        result.set('money', 20);
        result.save();
    },
    error: function(error) {
        console.log("None found.");
    }
});

1 个答案:

答案 0 :(得分:1)

这个问题是Parse用户对象只能由当前用户修改。您可以通过创建云代码功能来解决此问题,该功能可修改目标用户的货币价值。请注意,云代码功能必须调用Parse.Cloud.useMasterKey(); Source

CloudCode功能:

Parse.Cloud.define("setMoney", function(request, response) {
    Parse.Cloud.useMasterKey();
    var query = new Parse.Query(Parse.User);
    query.equalTo("objectId", request.params.userId);
    query.first({
        success: function (result) {
            console.log(result.id);
            result.set('money', 20);
            result.save();
            response.success();
        },
        error: function (error) {
            console.log("None found.");
            response.error(error);
        }
    });
});

JavaScript调用

Parse.Cloud.run("setMoney", {userId: userInput}, {
    success: function(result) {
        // Success
    },
    error: function(error) {
        // Error
    }
});