Ios 解析推送通知云代码错误?

Ios 解析推送通知云代码错误?,ios,swift,parse-platform,parse-cloud-code,Ios,Swift,Parse Platform,Parse Cloud Code,更新:由于解析服务器2.2.17存在的错误,我收到了这个错误。我通过返回到2.2.16来修复它 有人知道我为什么会犯这个错误吗?这是我的云代码: `定义(“消息”、函数(请求、响应){ var pushQuery=newparse.Query(Parse.Installation) })); });` 以下是我得到的错误: 然后这就是我调用代码的方式:`PFCloud.callFunctionInBackground(“Messages”,带参数:nil){(object,error)in in

更新:由于解析服务器2.2.17存在的错误,我收到了这个错误。我通过返回到2.2.16来修复它

有人知道我为什么会犯这个错误吗?这是我的云代码:

`定义(“消息”、函数(请求、响应){

var pushQuery=newparse.Query(Parse.Installation)

})); });`

以下是我得到的错误:

然后这就是我调用代码的方式:`PFCloud.callFunctionInBackground(“Messages”,带参数:nil){(object,error)in

index.js:
`

请尝试以下代码:

var query = new Parse.Query(Parse.Installation);
// query condition (where equal to .. etc.)

var payload = {
    alert: "New Event Added",
    sound: "default" 
};





Parse.Push.send({
    where: query, // Set our Installation query
    data: payload
}, {
        success: function () {

        },
        error: function (error) {
            // Handle error
        }
    });
请注意,我删除了useMasterKey如果您想添加useMasterKey,您需要将其插入闭包中,但对我来说,没有useMasterKey它就可以工作

useMasterKeyVersion应如下所示:

Parse.Push.send({
    where: query, // Set our Installation query
    data: payload
},
{
   useMasterKey: true
},
{
    success: function () {

    },
    error: function (error) {
        // Handle error
    }
});
承诺版本(根据最佳实践):

更新

通过查看index.js文件,您似乎没有将facebook oauth添加到您的三方身份验证登录中。 因此,您需要添加以下内容:

oauth: {
   facebook: {
     appIds: "FACEBOOK APP ID"
   }
}

在您的emailAdapter配置下方和“FACEBOOK应用程序ID”内,将您在FACEBOOK开发者中创建的应用程序ID放入main.js中

// SEND PUSH NOTIFICATION
Parse.Cloud.define("push", function(request, response) {

  var user = request.user;
  var params = request.params;
  var someKey = params.someKey
  var data = params.data

  var recipientUser = new Parse.User();
  recipientUser.id = someKey;

  var pushQuery = new Parse.Query(Parse.Installation);
  pushQuery.equalTo("userID", someKey);


  Parse.Push.send({
    where: pushQuery, // Set our Installation query
    data: data
  }, { success: function() {
      console.log("#### PUSH OK");
  }, error: function(error) {
      console.log("#### PUSH ERROR" + error.message);
  }, useMasterKey: true});

  response.success('success');
});



// SEND PUSH NOTIFICATION FOR ANDROID
Parse.Cloud.define("pushAndroid", function(request, response) {

  var user = request.user;
  var params = request.params;
  var someKey = params.someKey
  var data = params.data

  var recipientUser = new Parse.User();
  recipientUser.id = someKey;

  var pushQuery = new Parse.Query(Parse.Installation);
  pushQuery.equalTo("userID", someKey);


  Parse.Push.send({
    where: pushQuery, // Set our Installation query
    data: {
       alert: data
    }
}, { success: function() {
      console.log("#### PUSH OK");
  }, error: function(error) {
      console.log("#### PUSH ERROR" + error.message);
  }, useMasterKey: true});

  response.success('success');
});
在xcode项目中,发送推送通知

     // Send Push notification
        let pushStr = "@\(PFUser.current()![USER_USERNAME]!) | \n\(self.lastMessageStr)"


        let data = [ "badge" : "Increment",
                     "alert" : pushStr,
                     "sound" : "bingbong.aiff",

            ] as [String : Any]
        let request = [
            "someKey" : self.userObj.objectId!,
            "data" : data

            ] as [String : Any]
        PFCloud.callFunction(inBackground: "push", withParameters: request as [String : Any], block: { (results, error) in
            if error == nil {
                print ("\nPUSH SENT TO: \(self.userObj[USER_USERNAME]!)\nMESSAGE: \(pushStr)\n")
            } else {
                print ("\(error!.localizedDescription)")
            }
        })

这段代码对我也不起作用。我在日志中仍然会遇到与我在“无法设置标题”问题中发布的相同的错误你能告诉我你使用的是什么版本的parse吗?如果你在heroku中有任何设置,你必须让它工作吗?我使用的是最新版本的parse,我在index.js文件中也使用了OneSignal Push Adapter。但是我在使用Push Adapter之前就遇到了这个错误。我使用的是最新版本的parse 2.2.17.能否尝试调用成功块中的response.success()和response.error()在错误块中,查看是否调用了回调?好的,我也在使用该版本。对于问题是什么,或者我可以做些什么来修复问题,您有什么其他建议吗?在更新解析之前,我在.p12文件上收到一个错误,说它无法识别。即使它存在。然后我在终端上更新了解析,然后那个错误消失了。但是现在,自从我收到一个错误,在发送邮件后不能设置头。我只是用你的方法实现了“响应”方法在代码块中,仍然得到了相同的错误。我感觉我几乎尝试了所有的方法,但没有任何效果。lol。我被这个1错误困扰了3天。当我从OneSignal仪表板发送推送信息时,它们会转到我的手机。当我尝试从我的应用程序调用云代码时,我遇到了问题。我也可能会有问题当我使用Parse进行推送通知时,ent也从我的Parse仪表板推送。但是,同样,它在云代码中不起作用。请解释您编写的一些代码。非常感谢您的帮助,但如果OP知道您的代码的详细信息,这将更有意义
oauth: {
   facebook: {
     appIds: "FACEBOOK APP ID"
   }
}
// SEND PUSH NOTIFICATION
Parse.Cloud.define("push", function(request, response) {

  var user = request.user;
  var params = request.params;
  var someKey = params.someKey
  var data = params.data

  var recipientUser = new Parse.User();
  recipientUser.id = someKey;

  var pushQuery = new Parse.Query(Parse.Installation);
  pushQuery.equalTo("userID", someKey);


  Parse.Push.send({
    where: pushQuery, // Set our Installation query
    data: data
  }, { success: function() {
      console.log("#### PUSH OK");
  }, error: function(error) {
      console.log("#### PUSH ERROR" + error.message);
  }, useMasterKey: true});

  response.success('success');
});



// SEND PUSH NOTIFICATION FOR ANDROID
Parse.Cloud.define("pushAndroid", function(request, response) {

  var user = request.user;
  var params = request.params;
  var someKey = params.someKey
  var data = params.data

  var recipientUser = new Parse.User();
  recipientUser.id = someKey;

  var pushQuery = new Parse.Query(Parse.Installation);
  pushQuery.equalTo("userID", someKey);


  Parse.Push.send({
    where: pushQuery, // Set our Installation query
    data: {
       alert: data
    }
}, { success: function() {
      console.log("#### PUSH OK");
  }, error: function(error) {
      console.log("#### PUSH ERROR" + error.message);
  }, useMasterKey: true});

  response.success('success');
});
     // Send Push notification
        let pushStr = "@\(PFUser.current()![USER_USERNAME]!) | \n\(self.lastMessageStr)"


        let data = [ "badge" : "Increment",
                     "alert" : pushStr,
                     "sound" : "bingbong.aiff",

            ] as [String : Any]
        let request = [
            "someKey" : self.userObj.objectId!,
            "data" : data

            ] as [String : Any]
        PFCloud.callFunction(inBackground: "push", withParameters: request as [String : Any], block: { (results, error) in
            if error == nil {
                print ("\nPUSH SENT TO: \(self.userObj[USER_USERNAME]!)\nMESSAGE: \(pushStr)\n")
            } else {
                print ("\(error!.localizedDescription)")
            }
        })