根据Parse博客上的迁移指南,我已将我的Parse应用程序迁移到Heroku。事情似乎很好,除了在我的云代码中运行查询。这里是我的代码:解析云代码中的查询在迁移到Heroku后无法工作
Parse.Cloud.afterSave("Item", function(request) {
//Parse.Cloud.useMasterKey(); //Uncomenting this line yields the same error
var query = new Parse.Query(Parse.User);
var prevAssigneeId = request.object.get("prevAssignee").id;
var assigneeId = request.object.get("assignee").id;
query.get(prevAssigneeId, { // <-- Results in an error
success: function(prevAssignee) {
console.log("Fetch prevAssignee: Success");
query.get(assigneeId, {
success: function(assignee) {
console.log("Fetch assignee: Success");
// Do something with the fetched users!
},
error: function(object, error) {
console.log("Query for assignee: ");
console.log(error);
}
});
},
error: function(object, error) {
console.log("Query for prevAssignee: ");
console.log(error); //<-- Error is logged here
}
});
});
错误用于运行罚款解析托管时
ParseError { code: undefined, message: 'unauthorized' }
这种云代码。但迁移后,我得到了上述错误。其他不使用ParseQuery的云代码仍然可以正常工作。
关于这个问题可能有什么想法?
UPDATE
仍然没能找到这个修复,所以我尝试的代码更改为以下:
Parse.Cloud.afterSave("Item", function(request) {
console.log("Executing afterSave");
function findUser(user_id) {
var query = new Parse.Query(Parse.User);
//Parse.Cloud.userMasterKey();
return query.get(user_id);
}
var prevAssigneePromise = findUser(request.object.get("prevAssignee").id);
var assigneePromise = findUser(request.object.get("assignee").id);
var promises = [prevAssigneePromise, assigneePromise];
Parse.Promise.when(promises).then(function(prevAssignee, assignee) {
//Do something here!
console.log("This line was executed!");
},
function(error) {
console.log(error);
});
});
现在我注意到以下行为:
- 按原样运行,它会产生相同的错误:
[ ParseError { code: undefined, message: 'unauthorized' }, ParseError { code: undefined, message: 'unauthorized' } ]
- 如果我不合作没有错误,但不会在成功块中执行任何操作,即记录“此行已执行!”。我可以确认记录本身正在工作,因为其他
console.log(...)
声明工作。
仅供参考:Item
是一个Parse类列assignee
和prevAssignee
被列是指向_User
秒。
任何帮助,非常感谢。
您需要使用 query.get(prevAssigneeId,{ useMasterKey:真实, 成功:函数(prevAssignee){ – jiawen
@jiawen这没有工作,我尝试了不同的方法,这也没” t工作(看我更新的代码)。任何想法? – janakagamini