2016-01-15 2 views
2

Я пытаюсь сохранить данные в authData поле андроида, но я получаю исключение: Не удается сохранить ParseUser, не аутентификацией»только после прочтения пользователю«Невозможно сохранить ParseUser, не аутентификацией»

ParseQuery<ParseUser> query = ParseUser.getQuery(); 
    query.whereEqualTo("username", email); 
    query.findInBackground(new FindCallback<ParseUser>() { 
     @SuppressWarnings("deprecation") 
     public void done(List<ParseUser> scoreList, ParseException e) { 
      if (e == null) { 
       if(scoreList.size()>0){ 
        facebook_user = (ParseUser) scoreList.get(0); 
        facebook_user.isAuthenticated() 
        JSONObject obj = new JSONObject(); 
        try { 
         obj.put("name", "xyz"); 
        } catch (JSONException e1) { 
         // TODO Auto-generated catch block 
         e1.printStackTrace(); 
        } 
        facebook_user.put("authdata", obj); 
        facebook_user.saveInBackground(new SaveCallback() { 
         @Override 
         public void done(ParseException e) { 
         // exception in this section // 
         //Cannot save a ParseUser that is not authenticated"     after only reading the user// 
         }); 

       }else{ 

       } 
      } else { 
       Log.d("score", "Error: " + e.getMessage()); 
      } 
     } 
    }); 

ответ

0

похоже, что вы пытаетесь изменить, что пользователь с .Put() перед сохранением:

facebook_user.put("authdata", obj); 
facebook_user.saveInBackground(new SaveCallback() { 
    @Override 
    public void done(ParseException e) { 
    // exception in this section // 

}); 

Если вы хотите изменить пользователя, вам необходимо войти в систему как пользователь, выполнить изменения на облаке Код, используя masterKey, или изменить ACL объектов пользователя. Here's a SO post with a bit more info.

Дайте мне знать, если у вас есть еще вопросы.

+0

Спасибо за ответ, это очень помогло мне –

Смежные вопросы