2017-07-03 14 views
0

電子メール[email protected]を持つユーザーのパスワードを "an"に設定したいとします。しかし、コードは動作しません。 は、ここに私の雲のコードです:パスワードパースサーバーを手動でリセットするサーバー側

Parse.Cloud.define('testSetPasswordForUser', function(request, response) { 
    Parse.Cloud.useMasterKey(); 

    var query = new Parse.Query(Parse.User); 
query.equalTo("email", "[email protected]"); 

    query.first({ 
    success: function(results) { 
    results.setPassword("an"); 
    results.save(); 
    }, 
    error: function(error) { 

    } 
}); 



}); 

とここに私のアンドロイドコードです:一致する電子メールがない場合

 Map<String, String> parameters = new HashMap<String, String>(); 
        ParseCloud.callFunctionInBackground("testSetPasswordForUser", parameters, new FunctionCallback<Map<String, Object>>() { 
          @Override 
          public void done(Map<String, Object> mapObject, ParseException e) { 
           if (e == null) { 
//OK 
           } 
           else { 
//WRONG 
           } 
          } 
         }); 

答えて

1

まずオフは、あなたがつもり以来、エラーをスローしていますresultsは未定義です。したがって、ハンドラをif(results)ブロックで囲みます。

第2に、パスワードを変更するためにマスターキーを使用する必要があります。そうしないと誰かが誰かのパスワードを変更する可能性があります。

results.save(null, {useMasterKey:true});

nullはあなたが値を更新することができ、オプションの辞書です。すなわち、 results.save({key1:value1, key2:value2}, {useMasterKey:true});

関連する問題