无法设置分数ACL公钥android解析

时间:2015-08-19 07:24:39

标签: acl

我正在开发Android应用程序,它可以在Parse的结果表中保存用户得分。现在,如果我想访问用户的分数来通过云代码计算排名,我无法得到它。我想原因是ACL,这不是公开的。如果我手动将ACL设置为公共读取和写入行,我可以获得该行的分数。因此,为了使该等级代码有效,我必须手动将ACL设置为公共,这没有任何意义。请帮帮我。

result.put("name", user);
result.put("score", score);
result.put("mobile", out[2]);
ParseACL acl=new ParseACL();
acl.setPublicReadAccess(true);
result.saveEventually();

我尝试了这个但仍然无法正常工作。 :(

我的排名云代码如下:

Parse.Cloud.define("rank", function(request, response) {
var query = new Parse.Query("Result");
var score=request.params.score;
query.find({
  success: function(results)
   {
    var tmp;
    var a=[];
    for (var i = 0; i < results.length; i++)
     {
      tmp=parseInt(results[i].get("score"),10);
      a[i]=tmp;
    }
    a[i]=score;
    a.sort(function(a, b){return b-a});
    for(var k=0;k<a.length;k++)
    {
        if(a[k]==score)
            break;
    }
    response.success(k+1);
  },
  error:function() 
  {
    response.error("Error: " + error.code + " " + error.message);
    }
});
});

1 个答案:

答案 0 :(得分:2)

您忘了为用户设置acl

result.put("name", user);
result.put("score", score);
result.put("mobile", out[2]);
ParseACL acl=new ParseACL();
acl.setPublicReadAccess(true);
result.setACL(acl);    /*updated here*/
result.saveEventually();