Parse.User读取用户信息,如果不是当前用户

时间:2014-02-14 21:27:12

标签: parse-platform

我正在尝试获取用户的电子邮件地址,而不是“当前用户”。

var query = new Parse.Query(Parse.User);
query.equalTo("objectId", "8Vv6axJ");  
query.find({
success: function(object) {
var username = object.get("username");
   alert(username);                                       
   }
 });    

似乎我无法得到它。 Docs似乎说我应该能够实现它。似乎不喜欢var = username行。感谢。

LATER EDIT:所以,根据建议,我改为代码:

var query = new Parse.Query(Parse.User);
query.equalTo("objectId", "cx1ha3YPZj"); 
query.find({
   success: function(results) {
         alert(results.length);       
         for (var i = 0; i < results.length; i++) {
             var username = results[i].get("username");
         }    

results.length为0。我知道objectID是正确的,从Parse Browser复制。

行。以下是我的决定:

看来虽然Parse Docs说任何用户都可以阅读用户数据,但以下内容与此相矛盾。因此,来自User的以下ACL表示只有用户可以读写它。如果您尝试更改Parse.User中的ACL,则在刷新它时会将其更改回原始ACL。

{ “cx1ha3YPZj”:{ “读”:真, “写”:真}}

parse ACL link

Parse.ACL(ARG1) 创建一个新的ACL。如果没有给出参数,则ACL对任何人都没有权限。如果参数是Parse.User,则ACL将仅对该用户具有读写权限。

1 个答案:

答案 0 :(得分:0)

Object是多个浏览器中的保留名称。这可能就是你得到错误的原因。将object更改为其他内容可以解决问题。

结果还会返回一系列结果,如:

var query = new Parse.Query(Parse.User);
query.equalTo("objectId", "8Vv6axJ");  
query.find({
    success: function(results) {
       alert(results.length);       
       for (var i = 0; i < results.length; i++) {
           var username = results[i].get("username");
       }                          
    }
});