オプション私は、ユーザーを変更するために、クラウドコードを使用することをお勧めし
$file = ParseFile::createFromFile("filename.jpg", "image.jpg", "image/jpg");
$file->save();
$getUser = new ParseQuery("_User");
$getUser->equalTo("objectId", "2Ic26GaYRE");
$results = $getUser->first();
$results->set("profilePic", $file);
echo "Okay so far";
try {
$results->save();
echo 'success';
}
catch (ParseException $ex) {
echo 'error';
echo $ex->getMessage();
}
感謝。クラウド/ main.jsファイルを編集することで、解析サーバー上のjavascriptでクラウド機能を作成できます。
基本的に、あなたはこのように関数を作成することができます
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"]);
オプションB あなたはこのPHPのバージョンを試すことができます!
$file = ParseFile::createFromFile("imagePath.jpg", "image.jpg", "image/jpg");
$file->save();
try {
$query = new ParseQuery("_User");
$query->equalTo("username", "myUsername");
$results = $query->find($useMasterKey = true);
foreach($results as $user) {
$user->set('email','[email protected]');
$user->set('profilePic', $file);
$user->save($useMasterKey = true);
}
}
catch (ParseException $error) {
echo 'Error message: '.$error->getMessage();
}
私はうまくいきません。試したコードですか?それがあれば、私の最後に何かがあるはずです...これはとてもイライラしています! :) – Dan
申し訳ありません、それはparse.comでした。今すぐやってみて下さい。 parse-serverを使用する場合、usersテーブルには必ず$ useMasterKey = trueが必要です。私は自分の答えを更新しました – Cliffordwh
あなたの初期化でマスターキーを渡していることを確認してください – Cliffordwh