gpt4 book ai didi

javascript - 迁移到 Heroku 后,云代码中的解析查询不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:47 24 4
gpt4 key购买 nike

我已按照 Parse 博客上的迁移指南将我的 Parse 应用程序迁移到 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' }

托管在 Parse 上时,此云代码过去运行良好。但是迁移后出现上述错误。其他不使用 ParseQuery 的云代码仍然可以正常工作。

对可能出现的问题有什么想法吗?

更新

仍然无法找到解决此问题的方法,因此我尝试将代码更改为以下内容:

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' } ]
  • 如果我取消注释 Parse.Cloud.userMasterKey();,则没有错误,但也不会在成功 block 中执行任何操作,即记录“此行已执行!”。我可以确认日志记录本身是有效的,因为其他 console.log(...) 语句有效。

仅供引用:Item 是一个 Parse 类,其列 assigneeprevAssignee 是指向 _User 的列>s.

非常感谢任何帮助。

最佳答案

query.get(prevAssigneeId, {
useMasterKey: true
success: function(prevAssignee) {
console.log("Fetch prevAssignee: Success");

}
}

关于javascript - 迁移到 Heroku 后,云代码中的解析查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35357026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com