我使用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的图片:
我已经用Google搜索了错误,并且找不到任何好的答案,只有措辞不好的问题。我在这里完全不知所措。在此先感谢您的帮助。
答案 0 :(得分:1)
看起来Parse在register-webhooks.js后部署脚本初始化错误: Parse.initialize(process.env.PARSE_APP_ID,“unused”,process.env.PARSE_MASTER_KEY);
如果没有第二个参数(JavaScript Key),则无法从云函数执行任何Parse.Query。
所以我的解决方案是:
将新的Parse.initialize(process.env.PARSE_APP_ID, process.env.PARSE_JS_KEY, process.env.PARSE_MASTER_KEY);
添加到Heroku配置变量(值是来自Parse的JavaScript键 - >设置 - >键>
在server.js文件中添加行:
require('./cloud/main.js');
之前process.env.PARSE_JS_KEY
PS:将c = widget.rect().center()
print(c)
直接放在register-webhooks.js初始值设定项不起作用。