2

roleId と userId を受け取り、ユーザーをそのロールに割り当て、そのロールへの User のポインターを作成する Angular サービスがあります。

app.service('CRUD', function () {
    this.addUserToRole = function (roleId, userId) {
        // first we have to find the role we're adding to
        var query = new Parse.Query(Parse.Role);
        return query.get(roleId, {
            success: function (role) {
                // then add the user to it
                var Database = Parse.Object.extend("User");
                var query = new Parse.Query(Database);
                console.log(role);
                return query.get(userId, {
                    success: function (user) {
                        console.log(user);
                        role.getUsers().add(user);
                        role.save();

                        // now we need to tell the user that he has this role
                        console.log(user);
                        user.attributes.role.add(role);
                        user.save();
                        return user;
                    },
                    error: function (err) {
                        return err;
                    }
                });
            },
            error: function (err) {
                console.log(err);
            }
        });
    }
});

私は乗っ{"code":206,"error":"Parse::UserCannotBeAlteredWithoutSessionError"}ていますuser.save();

いろいろ調べた結果、こちらのサイトにたどり着きました。彼は次のコード スニペットを JS SDK の例として使用します。

Parse.Cloud.run('modifyUser', { username: 'userA' }, {
  success: function(status) {
    // the user was updated successfully
  },
  error: function(error) {
    // error
  }
});

関数について何か言及していuseMasterKey()ます。

このエラーを修正する方法がまだわかりません。

4

2 に答える 2

5

追加

Parse.Cloud.useMasterKey();

関数の最初に。

于 2014-01-07T14:09:14.783 に答える
0

バックグラウンド ジョブとして設定します。それはあなたが見つけたコードスニップであり、ユーザーとロールを愛撫するためのよりシンプルではるかに安全な手段だと思います

https://parse.com/docs/cloud_code_guide#jobs

于 2013-10-13T03:14:16.333 に答える