在另一个用户中插入一个 ObjectId - 解析和 Swift
insert an ObjectId in another user - Parse and Swift
我目前正在尝试将 objectId 保存到另一个用户的数组中。不幸的是,我收到一个错误。这是我尝试过的:
let name = (PFUser.currentUser()!["FirstName"] as! String) + " " + (PFUser.currentUser()!["LastName"] as! String)
let News = News(title: "\(name) accepted your ...", user: PFUser.currentUser()!)
News.saveInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
if (success){
let user = self.interest.user as! User
user.joinNews(News.objectId!)
} else {
print("--------")
}
})
这是我为此创建的 func joinNews :
public func joinNews(newsId: String) {
newsIds.insert(newsId, atIndex: 0)
saveInBackgroundWithBlock { (success, error) -> Void in
if error != nil {
print("\(error!.localizedDescription)")
}
}
}
在此先感谢您的帮助!
User 对象具有特殊的安全性:它只能由用户自己更新,这就是您收到错误 "User cannot be saved unless they have been authenticated via logIn or signUp"
的原因
如果您希望当前用户的操作修改另一个用户对象,您需要使用云代码功能,并使用 Parse 主密钥来覆盖此安全性。
这看起来像:
Parse.Cloud.define("addNewsToUser", function(request, response) {
Parse.Cloud.useMasterKey();
var user = new Parse.User();
user.id = request.params.userId;
user.fetch().then(function(object) {
// modify the user here
return user.save();
}).then(function() {
response.success(user);
}, function(error) {
response.error(error.message);
});
});
我目前正在尝试将 objectId 保存到另一个用户的数组中。不幸的是,我收到一个错误。这是我尝试过的:
let name = (PFUser.currentUser()!["FirstName"] as! String) + " " + (PFUser.currentUser()!["LastName"] as! String)
let News = News(title: "\(name) accepted your ...", user: PFUser.currentUser()!)
News.saveInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
if (success){
let user = self.interest.user as! User
user.joinNews(News.objectId!)
} else {
print("--------")
}
})
这是我为此创建的 func joinNews :
public func joinNews(newsId: String) {
newsIds.insert(newsId, atIndex: 0)
saveInBackgroundWithBlock { (success, error) -> Void in
if error != nil {
print("\(error!.localizedDescription)")
}
}
}
在此先感谢您的帮助!
User 对象具有特殊的安全性:它只能由用户自己更新,这就是您收到错误 "User cannot be saved unless they have been authenticated via logIn or signUp"
的原因如果您希望当前用户的操作修改另一个用户对象,您需要使用云代码功能,并使用 Parse 主密钥来覆盖此安全性。
这看起来像:
Parse.Cloud.define("addNewsToUser", function(request, response) {
Parse.Cloud.useMasterKey();
var user = new Parse.User();
user.id = request.params.userId;
user.fetch().then(function(object) {
// modify the user here
return user.save();
}).then(function() {
response.success(user);
}, function(error) {
response.error(error.message);
});
});