Parse + Heroku查询500错误

时间:2015-11-01 02:50:39

标签: node.js express heroku parse-platform cloud-code

我使用Parse的CLI和新的Heroku集成来创建脚手架NodeJS项目(parse new)。

它为您提供的示例云功能是:

// Hello
Parse.Cloud.define('hello', function(request, response) {    

  response.success('Hello world! ' + (request.params.a + request.params.b));

});

我可以使用以下CURL命令点击此路线,一切正常:

curl -X POST \
 -H "X-Parse-Application-Id: b8qPYS4SLSz0WoSWXlWeQosmF2jJPUPydetg3esR" \
 -H "X-Parse-REST-API-Key: TOJLbfbNXSQcBdDVnU0MnKVu7SyamQvZmorHL5iD" \
 -H "Content-Type: application/json" \
 -d '{"a": "Adventurous ", "b": "Parser"}' \
 https://api.parse.com/1/functions/hello

但后来我在Parse Data中添加了一个新类,插入了一行,并尝试查询&返回结果。我不断收到{"code":143,"error":"Invalid webhook response status: 500 Internal Server Error"}作为回复。

我很确定这不是我的代码问题,我猜测有一些配置步骤或者我缺少的东西。

这是我修改的Parse函数:

// Hello
Parse.Cloud.define('hello', function(request, response) {    
  var query = Parse.Query("Favorites");

  query.find({ useMasterKey: true }).then(
    function(results) {
      response.success('win');
    }, function() {
      response.error('fail');
    });

});

带有插入行的Parse Class的图片:

enter image description here

我已经用Google搜索了错误,并且找不到任何好的答案,只有措辞不好的问题。我在这里完全不知所措。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

看起来Parse在register-webhooks.js后部署脚本初始化错误:     Parse.initialize(process.env.PARSE_APP_ID,“unused”,process.env.PARSE_MASTER_KEY);

如果没有第二个参数(JavaScript Key),则无法从云函数执行任何Parse.Query。

所以我的解决方案是:

  1. 将新的Parse.initialize(process.env.PARSE_APP_ID, process.env.PARSE_JS_KEY, process.env.PARSE_MASTER_KEY);添加到Heroku配置变量(值是来自Parse的JavaScript键 - >设置 - >键>

  2. 在server.js文件中添加行:

    require('./cloud/main.js');

  3. 之前process.env.PARSE_JS_KEY

    PS:将c = widget.rect().center() print(c) 直接放在register-webhooks.js初始值设定项不起作用。