【问题标题】:Not able to set ACL of score public android parse无法设置分数公共 android 解析的 ACL
【发布时间】:2015-08-19 07:24:39
【问题描述】:

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

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);
    }
});
});

【问题讨论】:

    标签: acl


    【解决方案1】:

    您忘记为用户设置 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(); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 2021-04-08
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多