2016-11-29 1 views
0

これについてのドキュメントは見つかりませんでした。私が単にやるべきことは、ユーザーのパスワードを必要とせずにテーブル内のユーザー情報を更新することだけです。私は単にユーザーの電子メールを調べ、そのユーザーの情報を更新したいと思います。パスワードを変更するのではなく、そのユーザーに関連付けられたテーブルの他の列を変更します。ユーザークエリのパスワードの代わりに、Parse(.com)php SDK "マスターキー"

例クエリ:パースのPHPのSDKを通じて

$query = new ParseQuery("_User"); 
$query->equalTo("username", "user001"); 
foreach ($result as $doc) { 
$doc->set('name', "new info"); 
$doc->save(); 
} 

、どのように私は、ユーザーの電子メール/ユーザ名を知ることによって、単にユーザー情報を変更できますか?ログインせずに?

パスワードやクラウドジョブの代わりに「マスターキー」を使用してこれを行うことができると聞きましたが、どこから始めるべきかわかりません。

私はAPI refの中で参照:save(boolean $useMasterKey = true) : null

誰もが任意のアイデアがありますか?

P.S:この応答が見つかりましたが、これを実行する方法がまだ分かりません(https://www.parse.com/questions/users-editing-other-users-in-javascript-sdk)。

答えて

0

おそらく、クラウド機能を使用してサーバー側でユーザーを変更する必要があります。クラウド/ main.jsファイルを編集することで、解析サーバー上のjavascriptでクラウド機能を作成できます。詳細ドキュメントhere

基本的に、あなたはこのように関数を作成することができます

Parse.Cloud.define("modifyuser", function(request, response){ 
    var query = new Parse.Query(Parse.User); 
    query.equalTo('objectId', request.params.objectId); 
    query.find({ 
    useMasterKey: true, 
    success: function(results){ 
     if(results.length>0){ 
     var user = results[0]; 
     user.set("SOMEPARAMETER",true); 
     user.save().then(
      function(result){ 
      }, 
      function(error){ 
       console.log("Error: " + error.code + " " + error.message); 
      }); 
     } 
     } 
    }, 
    error: function(error){ 
      response.error('query error: '+ error.code + " : " + error.message); 
    } 
    }); 
}); 

そして、あなたのクライアントからこの関数を呼び出します。

$ParseCloud::run("modifyuser", ["objectId" => "THEUSEROBJECTID"]); 
関連する問題