2014-12-19 5 views
3

Я получаю ответ об ошибке, так как «пользовательские объекты не могут разрешать записи от других пользователей» при попытке подписатьUp или обновить ParseUser в облачном коде. Как указано командой Parse, я использую Parse.Cloud.useMasterKey(), чтобы обойти ограничения. Где, возможно, я ошибаюсь? Я смущен, поскольку этот код ранее работал. Спасибо заранее.Сохранение или обновление ParseUser в облачном коде

ответ

2

Если возможно, можете ли вы предоставить некоторые коды, связанные с вашей проблемой? Например, ниже код успешно обновляет столбец имени пользователя анализа (проверен на облаке Parse);

Parse.Cloud.define("test", function(request, response) { 
    Parse.Cloud.useMasterKey(); 
    var query = new Parse.Query(Parse.User); 
    query.equalTo("objectId", request.params.objectId); 
    query.first({ 
     success: function(object) { 
     object.set("name", request.params.name); 
     object.save(); 
     response.success("Success Message"); 
     }, 
     error: function(error) { 
     response.error("Error Message"); 
     } 
    }); 
}); 

Однако, если один из ParseUser пытается обновить другой, то вполне возможно, проблема связана с ACL. Если вы предоставляете коды, это действительно полезно. Надеюсь, это поможет,

С уважением.

+0

Здравствуйте, Благодарим за комментарий. В моем случае пользователь Parse пытается обновить другого пользователя Parse. Но в соответствии с их документацией я использую Parse.Cloud.useMasterKey(), который при этом игнорирует все ACL. Я все еще не понимаю эту проблему. –

+0

Это именно то, что я искал. Благодарю. – Nactus

+0

Parse.Cloud.useMasterKey(); устарел в Parse Server версии 2.3.0 (7 декабря 2016 г.). Из этой версии это не-op (он ничего не делает). Теперь вы должны добавить необязательный параметр {useMasterKey: true} для каждого из методов, которые необходимо переопределить ACL или CLP в коде. – alvaro

Смежные вопросы