无法设置分数 public android 解析的 ACL
Not able to set ACL of score public android parse
我正在开发 android 应用程序,它在 Parse 的结果 table 中保存用户分数。现在,如果我想通过云代码访问用户分数来计算排名,我将无法获得它。我猜原因是ACL,而不是public。如果我手动将 ACL 设置为 public 读取和写入一行,我就可以获得该行的分数。因此,为了使排名代码正常工作,我必须手动将 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
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();
我正在开发 android 应用程序,它在 Parse 的结果 table 中保存用户分数。现在,如果我想通过云代码访问用户分数来计算排名,我将无法获得它。我猜原因是ACL,而不是public。如果我手动将 ACL 设置为 public 读取和写入一行,我就可以获得该行的分数。因此,为了使排名代码正常工作,我必须手动将 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
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();