您的位置:首页 > 移动开发 > IOS开发

【原】使用Bmob作为iOS后台开发心得——云端代码添加其他User的Relation关系

2015-09-19 11:29 633 查看
本文转载请注明出处 —— polobymulberry-博客园

问题描述

我在User表中增加了两个列,分别为“我关注的人”(Relation关系)“我的粉丝”(Relation关系)当我关注某个人的时候,一方面我要添加他到“我关注的人”,另一方面在他的粉丝中要将我添加上去。看起来很简单,但是实际中操作时,使用bmob sdk中的
updateInBackgroundWithResultBlock会遇到我想更新别人的User信息,是无法成功的,因为权!限!


解决方法

这里就得使用Bmob给我们提供的Master Key了(慎用,因为权限太大)。

function onRequest(request, response, modules) {
// 将objectId为fansObjectId的User添加给objectId为userObjectId的User
var userObjectId = request.body.userObjectId;
var fansObjectId = request.body.fansObjectId;

var relFans = modules.oRelation;
// 设置Master-Key
relFans.setHeader({"X-Bmob-Master-Key":"XXXXXXXXXXXXX"});
relFans.update({
"table":"_User",
"objectId":userObjectId,
// 此处注意用的是"__type":"Pointer",而非"Relation",注意,一开始我用Relation弄不起来,改成Pointer就OK了
"data":{"Fans":{"__op":"AddRelation","objects":[{"__type":"Pointer","className":"_User","objectId":fansObjectId}]}}
},function(err,data){
response.end(data);
});
}


其他没什么好说的了。顺便说一句如果你想使用别人的oData对象,就用oData.setHeader即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: