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


    本文转载请注明出处 —— 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即可。

  • 相关阅读:
    注册DLL的两种方法
    DVDRAM 格式化失败及视频文件分割软件
    提高ASP.NET效率的几个方面
    vs2003错误求救
    存储过程1
    制作VCD/DVD方法
    不能上网修复网络协议
    C语言运算符优先级
    黑马程序员 ObjectC 类 (一)
    进制转换的方法和技巧
  • 原文地址:https://www.cnblogs.com/polobymulberry/p/4821177.html
Copyright © 2020-2023  润新知