'a geçiş yaptıktan sonra çalışmıyor Parse blogumdaki taşıma rehberi uyarınca Parse uygulamamı Heroku'ya taşıdım. Bulut kodumda sorgu yürütmek dışında işler iyi görünüyor.Bulut kodundaki ayrıştırma sorgusu, 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
}
});
});
Hata Parse barındırılan zaman ince çalıştırmak için kullanılan
ParseError { code: undefined, message: 'unauthorized' }
Bu bulut kodu: İşte benim kodudur. Ama göç ettikten sonra yukarıdaki hatayı alıyorum. ParseQuery kullanmayan diğer bulut kodları hala iyi çalışıyor.
Sorunun ne olabileceği hakkında bir fikir var mı?
- :
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); }); });
Şimdi aşağıdaki davranış fark:
Yine GÜNCELLEME
bunun için bir çözüm bulmak mümkün değildi bu yüzden aşağıdaki kodu değiştirmeden çalıştı Olduğu gibi çalıştırın, aynı hatayı üretir:
[ ParseError { code: undefined, message: 'unauthorized' }, ParseError { code: undefined, message: 'unauthorized' } ]
- Eğer unco Hata
Parse.Cloud.userMasterKey();
, hata yok, ancak başarı bloğunda herhangi bir şey yapmayacaksınız, yani "Bu satır yürütüldü!". Diğerconsole.log(...)
ifadeleri işe yarıyor çünkü günlüğün kendisi çalışıyor olduğunu doğrulayabilirim.
Bilginize: Item
sütunlar assignee
ve _User
s işaretçileri prevAssignee
olmak sütunlu bir Ayrıştırma sınıftır.
Herhangi bir yardım çok takdir edilmektedir. Gerçek, başarı:
Sen query.get (prevAssigneeId, { useMasterKey kullanmaya gerek işe yaramadı fonksiyonu (prevAssignee) {Bu @jiawen – jiawen
, ben de mi' farklı bir yaklaşım denedi Herhangi bir fikir mi? – janakagamini