Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取当前用户';云代码中的id?_Javascript_Parse Platform_Parse Server_Parse Cloud Code - Fatal编程技术网

Javascript 如何获取当前用户';云代码中的id?

Javascript 如何获取当前用户';云代码中的id?,javascript,parse-platform,parse-server,parse-cloud-code,Javascript,Parse Platform,Parse Server,Parse Cloud Code,这是Parse.com的交友网站 Parse.Cloud.define("friend", function(request, response) { var userToFriend = new Parse.User(); userToFriend.id = request.params.friendId; var roleName = "friendsOf_" + request.user.id; var roleQuery = new Parse.Quer

这是Parse.com的交友网站

Parse.Cloud.define("friend", function(request, response) {
    var userToFriend = new Parse.User();
    userToFriend.id = request.params.friendId;

    var roleName = "friendsOf_" + request.user.id;
    var roleQuery = new Parse.Query("_Role");
    roleQuery.equalTo("name", roleName);
    roleQuery.first().then(function(role) {
        role.getUsers().add(userToFriend);
        return role.save();

    }).then(function() {
        response.success("Success!");    
    });
});
但这在parse server的云代码中不再有效,因为没有全局当前用户

var token = request.user.getSessionToken();
var query = new Parse.Query('???');
query.find({ sessionToken: token }).then( ... );
我相信我所要做的就是使用会话令牌。但我不太明白如何获取当前用户的id

例如,为了使上述功能正常工作,我需要使用当前用户id构建角色名

我认为我需要使用sessionToken来筛选属于当前用户的查询

var token = request.user.getSessionToken();
var query = new Parse.Query('???');
query.find({ sessionToken: token }).then( ... );
我可以这样做吗:

var token = request.user.getSessionToken();
var query = new Parse.Query('User');
query.find({ sessionToken: token }).then( function(user) { 
    var roleName = "friendsOf_" + user.id; 
} );

如果您有任何建议,我们将不胜感激。

您的解析服务器的版本是什么?谢谢联系。这是解析服务器-example@1.4.0我认为您错误地认为缺少request.user。我一直在用它。也许您的角色具有阻止公共读/写的CLP/ACL?他们应该这样做。也许您只需要传入主密钥,它有点被弃用了。您过去可以调用
Parse.Cloud.useMasterKey
,它会隐式地将主密钥传递给所有解析方法。现在,您需要显式地传递它,即
roleQuery.first({useMasterKey:true})。然后(…
role.save(null,{useMasterKey:true})
解析服务器的版本是什么?感谢您的帮助。它是
解析服务器-example@1.4.0
我认为您错误地认为缺少request.user。我一直在使用它。也许您的角色具有阻止公共读/写的CLP/ACL?他们应该这样做。也许您只需要传入主密钥,这有点不推荐使用。您过去可以调用
Parse.Cloud.useMasterKey
,它会隐式地将主密钥传递给所有解析方法。现在,您需要显式地传递主密钥,即
roleQuery。首先({useMasterKey:true})。然后(…
role.save(null,{useMasterKey:true})