解析クラウドを使用して、他のユーザーの解析インストールに新しいチャネルを追加しようとしています。これはパース クラウド コードです。
Parse.Cloud.define("subscribeToChannel", function(request, response) {
var channelName = request.params.channel;
var ids = request.params.ids;//this is an array of ids to change
var _ = require("underscore");
_.each(ids, function(id) {
// Create a Pointer to this user based on their object id
var user = new Parse.User();
user.id = id;
// Need the Master Key to update Installations
Parse.Cloud.useMasterKey();
// A user might have more than one Installation
var query = new Parse.Query(Parse.Installation);
query.equalTo("User", user); // Match Installations with a pointer to this User
query.find({
success: function(installations){
for (var i = 0; i < installations.length; i++){
// Add the channel to all the installations for this user
installations[i].addUnique("channels", channelName);
}
// Save all the installations
Parse.Object.saveAll(installations, {
success: function(installations) {
},
error: function(error) {
// An error occurred while saving one of the objects.
console.error(error);
}
});
},
error: function(error) {
console.error(error);
}
});
});
そして、これが各ユーザーの最初のインストールをセットアップする方法です。
ParseInstallation inst = ParseInstallation.getCurrentInstallation();
inst.put("User", ParseUser.getCurrentUser());
送信する ID の配列は、文字列 ID のリストを含む JSONArray です。JSONArray が取得され、正しく繰り返されます。しかし、何度試してもうまくいかないようです。ありがとう!