parsing推送通知云代码错误?

更新:我得到这个错误,因为Parse-Server 2.2.17有一个错误。 我通过回到2.2.16来修复它。

有谁知道我为什么得到这个错误? 这是我的云代码:

`Parse.Cloud.define(“Messages”,function(request,response){

var pushQuery = new Parse.Query(Parse.Installation);

Parse.Push.send({ where: pushQuery, data: { alert: "New Event Added", sound: "default" } },{ success: function(){ console.log("Push Sent!") }, error: function (error) { console.log(error) }, useMasterKey: true 

}); });`

这是我得到的错误: 在这里输入图像说明

然后这就是我如何调用代码:`PFCloud.callFunctionInBackground(“Messages”,withParameters:nil){(object,error)in

  if error == nil { print("Success!") } else { print(error) } } 

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 } }); 

承诺版本(根据最佳实践):

 Parse.Push.send({where: query,data: payload}) .then(function(){ // success },function(error){ // error .. }); 

更新

通过查看您的index.js文件,看起来您没有将Facebook oauth添加到您的3方身份validationlogin名中。 所以你需要添加以下内容:

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

在你的emailAdapterconfiguration下,在“FACEBOOK APP ID”里面放置你在Facebook开发者中创build的应用ID