根據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