2

我正在尝试更新存储在 User 类中的 Parse 中的其他用户信息。最初我尝试了以下代码:

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 中更新其他用户的信息?任何帮助将不胜感激。

4

1 回答 1

0

您应该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);
    }
});
于 2015-12-11T10:32:22.153 回答