2015-08-19 4 views
0

Я работаю над андроидным приложением, которое экономит очки пользователей в таблице результатов в Parse. Теперь, если я хочу получить доступ к счету пользователей для вычисления рейтинга через код облака, я не могу его получить. Я предполагаю, что причиной является ACL, который не является публичным. И если я вручную настрою ACL на публичное чтение и запись для строки, я могу получить оценку для этой строки. Поэтому, чтобы заставить этот код ранга работать, мне нужно вручную установить ACL для публики, что не имеет никакого смысла. Пожалуйста, помогите мне.Невозможно установить ACL оценки публичный андроид parse

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

Вы забыли установить 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(); 
Смежные вопросы