【问题标题】:Parse.com CloudCode add user to existing role not workingParse.com CloudCode 将用户添加到现有角色不起作用
【发布时间】:2014-11-27 21:03:27
【问题描述】:

这是我尝试使用的 Parse javascript 云代码。创建新的 _User 后,我想将它们添加到我的“客户”角色中。

Parse.Cloud.afterSave(Parse.User, function(request) {
    Parse.Cloud.useMasterKey();

    query = new Parse.Query(Parse.Role);
    query.equalTo("name", "Client");
    query.first ({
        success: function(role) {
            role.getUsers().add(request.user);
            role.save();
        },
        error: function(error) {
            throw "Got an error " + error.code + " : " + error.message;
        }
    });
});

这是直接从 Parse.com 的角色示例中获取代码。当保存新的_User 时,代码运行愉快,返回Result: Success,但是当我在数据浏览器中检查与该角色相关的“用户”时,什么都没有发生。

根据 Parse.com 旧论坛上的示例,我还尝试将 role.getUsers().add(request.user); 替换为 role.relation("users").add(request.user);,但没有区别。这似乎应该是非常直接的,所以我不确定我做错了什么。

(我已经手动使用 REST API,使用 curl,将 _Users 添加到客户端角色,这确实有效,所以我知道它应该有效。)

【问题讨论】:

  • 你能检查一下 request.user 是一个有效的 Parse.User 对象并且角色确实存在吗?如果角色确实存在,它应该与 role.getUsers().add(Parse.User.current()); 一起使用
  • request.user 是有效用户。也尝试过您的替代方法,现在在这两种情况下我都得到了响应 No Message provided
  • 作为参考,这对我有帮助 parse.com/questions/cloudcode-adding-user-to-role-on-beforesave 我在一个函数中有多个操作,但无法让它工作。问题是 response.success 在函数的其他地方被调用,所以我的角色设置没有时间完成。浪费了 3 个小时......该死的 javascript !!

标签: javascript parse-platform parse-cloud-code parse-javascript-sdk


【解决方案1】:

原来你需要使用request.object 而不是request.user。现在可以了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-29
    • 2016-03-25
    • 2015-04-26
    • 2016-01-12
    • 2015-03-27
    • 2021-08-10
    • 2017-09-25
    • 2019-06-12
    相关资源
    最近更新 更多