gpt4 book ai didi

javascript - 解析错误 : "Can' t modify username in the before save trigger"and "Validation Failed"

转载 作者:行者123 更新时间:2023-11-30 05:31:35 25 4
gpt4 key购买 nike

我正在尝试在 Parse 的 beforeSave 中保存用户(从 Facebook 提取一些数据并将其添加到某些列,这些列与 Parse 用户名没有相关)在云中触发,但我在注册时在我的 iOS 应用程序中收到以下错误:

无法在保存触发器之前修改用户名

这很容易解释,对吧?只是因为我不会在任何地方修改用户名,无论是在我的 iOS 应用程序的触发器、云功能还是客户端中。我什至不访问或使用它。不过,使用我的云代码添加字段成功创建了用户。但有时我只是得到这个错误:

验证失败

然后,我的用户对象似乎没有保存。这两个错误都是随机发生的,而且是我的同一个测试用户。我什至在整个项目中搜索了“用户名”一词,以确保我没有直接或间接地在某处 设置它。我不会把它保存在任何地方。这是一个 Parse 错误,还是我遗漏了一些明显的东西?这是我的完整代码:

Parse.Cloud.beforeSave(User, function(request, response) {
var user = request.object;
if(typeof user.get("nickname") == "undefined" || user.get("nickname") == null){
var randomNick = "User " + Math.floor(Math.random() * 1000000);
user.set("nickname", randomNick);
}
if(user.get("facebookId") == undefined){
var token = user.get('authData')['facebook']['access_token'];
Parse.Cloud.httpRequest({
url: 'https://graph.facebook.com/v2.1/me?fields=id,gender,name&access_token=' + token,
success: function(httpResponse) {
var responseData = httpResponse.data;
user.set("facebookId", responseData.id);
user.set("realName", responseData.name);
if(responseData.gender !== undefined){
user.set("gender", responseData.gender);
}
var acl = new Parse.ACL();
acl.setPublicReadAccess(false);
user.setACL(acl);

user.save(null, {
useMasterKey:true,
success: function(){response.success()},
error: function(o,e){response.error("error: " + e)}
});
},
error: function(httpResponse) {
console.error('Request failed with response code ' + httpResponse.status);
}
});
}else{
response.success();
}
});

最佳答案

可能的问题是您试图在 beforeSave 触发器中保存一个对象;你不需要保存它,你只需要修改它然后调用 response.success() 让 Parse.com 知道继续保存操作。您收到的错误可能是因为它试图两次创建同一用户 - 虽然这只是一个猜测。

参见 https://parse.com/docs/cloud_code_guide?language=JavaScript#functions-onsave获取更多信息。

删除 user.save() 调用,只调用 response.success()

关于javascript - 解析错误 : "Can' t modify username in the before save trigger"and "Validation Failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26618933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com