iPhone アプリで Parse.com を使用しています。
以前に、現在ログインしているユーザーを別のユーザーの「friendsRelation」と呼ばれるPFRelationキー/列に追加しようとしていたときに問題が発生しました。これは基本的に友達リストです。
唯一の問題は、現在ログインしているユーザー以外のユーザーに変更を保存できないことです。
その後、Parse Cloud Code で「マスター キー」を使用して、使用できる回避策があることを知りました。
ここにコードをParse Cloud Codeに追加することになりました: https://stackoverflow.com/a/18651564/3344977
これはうまく機能し、これを正常にテストして、Parse データベースの文字列列/キーに NSString を追加できます。
ただし、Parse Cloud Code を変更して、ユーザーを別のユーザーの PFRelation 列/キーに追加できるようにする方法がわかりません。
リンクした上記の Parse Cloud Code を使用して過去 2 時間すべてを試してみましたが、何も動作しませんでした。その後、問題は実際のクラウド コードにあり、使用方法にあることに気付きました。私が言ったように、テスト目的で NSString オブジェクトを正常に追加できるからです。
私の問題は、javascript を知らず、構文も理解していないため、javascript で記述された Cloud Code を変更する方法がわからないことです。
上記でリンクした Parse Cloud Code を編集する必要があります。このコードは、この質問の最後に貼り付けて、現在ログインしている PFUser オブジェクトを別のユーザーの PFRelation キー/列に追加できるようにします。
Objective-C でこれを行うために使用するコードは次のようになります。
[friendsRelation addObject:user];
したがって、オブジェクトを配列に追加するのと同じであると確信していますが、先ほど言ったように、Parse Cloud Code は JavaScript であるため、変更する方法がわかりません。
パース クラウド コードは次のとおりです。
Parse.Cloud.define('editUser', function(request, response) {
var userId = request.params.userId,
newColText = request.params.newColText;
var User = Parse.Object.extend('_User'),
user = new User({ objectId: userId });
user.set('new_col', newColText);
Parse.Cloud.useMasterKey();
user.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
});
次に、objective-c を使用して xcode で使用する方法を次に示します。
[PFCloud callFunction:@"editUser" withParameters:@{
@"userId": @"someuseridhere",
@"newColText": @"new text!"
}];
現在の PFUser を別のユーザーの PFRelation 列/キーに追加するために変更する必要があります。これは、技術的にはオブジェクトを配列に追加するだけであると確信しています。
これは、javascript に精通している人にとってはかなり簡単なはずなので、助けていただければ幸いです。
ありがとうございました。