我有一个 Angular 服务,它接受 roleId 和 userId,并将用户分配给该 Angular 色,并在 User 中创建指向该 Angular 色的指针。
app.service('CRUD', function () {
this.addUserToRole = function (roleId, userId) {
// first we have to find the role we're adding to
var query = new Parse.Query(Parse.Role);
return query.get(roleId, {
success: function (role) {
// then add the user to it
var Database = Parse.Object.extend("User");
var query = new Parse.Query(Database);
console.log(role);
return query.get(userId, {
success: function (user) {
console.log(user);
role.getUsers().add(user);
role.save();
// now we need to tell the user that he has this role
console.log(user);
user.attributes.role.add(role);
user.save();
return user;
},
error: function (err) {
return err;
}
});
},
error: function (err) {
console.log(err);
}
});
}
});
我在 user.save();
上收到 {"code":206,"error":"Parse::UserCannotBeAlteredWithoutSessionError"}
经过一番研究,我得到了 this网站。他使用此代码片段作为 JS SDK 示例:
Parse.Cloud.run('modifyUser', { username: 'userA' }, {
success: function(status) {
// the user was updated successfully
},
error: function(error) {
// error
}
});
并提到了有关 useMasterKey()
函数的内容。
我仍然不确定如何修复此错误。
最佳答案
添加
Parse.Cloud.useMasterKey();
在函数的开头。
关于javascript - 解析.com : getting UserCannotBeAlteredWithoutSessionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19293281/