最近在做毕业设计,比较少的新知识补充,所以很久没更新过博客,其实归根到底还是太懒了,要坚持啊。
好,开始说正事,若你在使用Parse,并且遇到下面的报错信息,请继续
关键句:User cannot be saved unless they have been authenticated via logIn or signUp
首先说明一下:Pares是不允许修改其它用户的信息的,所以当试图修改其他用户信息的时候,就会出现上面的报错。
那我有这个需要呢?怎么办?
其实有两个解决的办法:1、用户信息存在另一个表,但是这样会使得创建、查询、删除很麻烦
2、使用Parse的CloudCode
我就是使用CloudCode解决这个问题的。
CloudCode使用的是JS代码,这里我就不详细说使用方法了,贴下一段简单的代码作为引导:
云代码:
Parse.Cloud.define("editUser", function(request, response) {
var userId = request.params.userId,
newColText = request.params.newColText;
var User = Parse.Object.extend('_User'),
user = new User({ objectId: userId });
user.set("new_col", newColText);
Parse.Cloud.useMasterKey();
user.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
});
[PFCloud callFunction:@"editUser" withParameters:@{
@"userId": @"someuseridhere",
@"newColText": @"new text!"
}];
相信都能明白了吧。
最后,写下本文仅仅是作为自己的笔记,放上来只是希望能帮到后来者。虽然对于一些大牛(反正我不是)来说,这很easy,但新手或许需要。我自己在学习的过程中就是经常碰到一些问题,身边没人问,网上找不到,最后自己花了好长时间才解决,体会到这点,因此,碰到一些网上难找的问题,我都会把它记下来,作为笔记也希望能帮到后来者。