Как обновить пользовательский класс в платформе синтаксического анализа с помощью JavaScript SDK?

Я пытаюсь обновить информацию другого пользователя в Parse, которая хранится в классе User. Первоначально я пробовал следующий код:

1.

var user = Parse.User;
var query = new Parse.Query(user);

query.equalTo("name", userName); //to find specific user

query.first({
     success: function(results) {
                //update that user's details
                results.set("name", newName);
                results.save();
      },
      error: function(error) {
                alert("Error: " + error.code + " " + error.message);
      }
});

Я получил следующую ошибку:

{code: 206, error: "Parse::UserCannotBeAlteredWithoutSessionError"}

2. Затем я использовал Parse.Cloud.useMasterKey(), так как понял, что мы не можем редактировать данные других пользователей. Но это тоже не сработало. А мастер-ключ переопределяет всю безопасность, поэтому использовать этот код было не очень хорошей идеей.

3. Итак, я попробовал следующий код:

var user = Parse.User;
var query = new Parse.Query(user);

query.equalTo("objectId", userName);

query.first({
    success: function(results) {

                results.set("name", newName);

                results.save(null, { useMasterKey:true}).then(function(user) {console.log("updated!!!");}, function(error) {console.log(error); });

     },
     error: function(error) {
                alert("Error: " + error.code + " " + error.message);
     }
});

Но я получаю ошибку «401 Unauthorized».

Кто-нибудь знает, как обновить информацию о другом пользователе в Parse? Любая помощь будет принята с благодарностью.


person Prachi Sharma    schedule 24.08.2015    source источник


Ответы (1)


Вы должны вызвать функцию fetch после обновления текущего пользовательского объекта. Вы можете следовать приведенному ниже образцу:

var currentUser = Parse.User.current();
currentUser.set('name', 'New Name');
currentUser.save(null, {
    success: function(user) {
        currentUser.fetch();
    },
    error: function(user, error) {
        alert('Failed to update object, with error code: ' + error.message);
    }
});
person Thin Nguyen    schedule 11.12.2015