如何使用 JavaScript SDK 更新解析平台中的用户类?
Posted
技术标签:
【中文标题】如何使用 JavaScript SDK 更新解析平台中的用户类?【英文标题】:How to update user class in parse-platform using JavaScript SDK? 【发布时间】:2015-08-24 11:06:08 【问题描述】:我正在尝试更新存储在 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 中更新其他用户的信息吗?任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您应该在更新当前用户对象后调用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);
);
【讨论】:
以上是关于如何使用 JavaScript SDK 更新解析平台中的用户类?的主要内容,如果未能解决你的问题,请参考以下文章
解析云代码迁移后如何更新到最新版本的 Parse-SDK-JS
如何在 iPhone SDK 中单击按钮时水平滚动 ScrollView
浅析微信支付:公众平台卡券功能开通HTML5线上发券(JS-SDK接口)查看卡券详情