पर माइग्रेट करने के बाद काम नहीं कर रही है, मैंने पार्स ब्लॉग पर माइग्रेशन गाइड के अनुसार अपने पार्स ऐप को हरोकू में माइग्रेट कर दिया है। मेरे क्लाउड कोड में एक क्वेरी चलाने के अलावा चीजें ठीक काम करने लगती हैं।क्लाउड कोड में पार्स क्वेरी हेरोोक
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 का उपयोग नहीं करता है अभी भी ठीक काम करता है।
समस्या के बारे में कोई विचार क्या हो सकता है?
अद्यतन
अभी भी इस के लिए एक ठीक ढूँढने में सक्षम नहीं तो मैं निम्नलिखित करने के लिए कोड को बदलने की कोशिश की:
- :
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' } ]
- यदि मैं unco mment
Parse.Cloud.userMasterKey();
, कोई त्रुटि नहीं है, लेकिन सफलता ब्लॉक में कुछ भी निष्पादित नहीं करेगा यानी लॉग इन करें "यह पंक्ति निष्पादित की गई थी!"। मैं पुष्टि कर सकता हूं कि लॉगिंग स्वयं काम कर रही है क्योंकि अन्यconsole.log(...)
कथन कार्य करते हैं।
बस FYI: Item
कॉलम assignee
और prevAssignee
कॉलम जा रहा है कि _User
रों को संकेत दिए गए हैं के साथ एक पार्स वर्ग है।
किसी भी मदद की बहुत सराहना की जाती है। सच है, सफलता:
आप query.get (prevAssigneeId, { useMasterKey उपयोग करने की आवश्यकता समारोह (prevAssignee) { – jiawen
यह @jiawen काम नहीं किया, मैं एक अलग दृष्टिकोण है जो भी नहीं था 'करने की कोशिश की टी काम (मेरा अद्यतन कोड देखें)। कोई विचार? – janakagamini