我试图在heroku上运行基本的node.js webhook echo示例。但是我一直得到206个错误。我听说过这可以来自heroku所做的重定向或来自不完整的json。这里有什么帮助吗?
我还在api.ai上附上了我的意图截图
我在雅虎天气样本python应用程序中遇到同样的错误,所以我不知道最新情况如何,因为这都是api.ai配置。
我也问过这里的问题https://discuss.api.ai/t/webhook-issue-error-206/4535/4
我的代码如下,我是node.js的新手,有什么不对吗?我在其JSON中添加了我认为api.ai需要的字段。
app.post('/hook', function(req, res) {
console.log('hook request');
try {
var speech = 'empty';
if (req.body) {
if (req.body.result) {
speech = '';
if (req.body.result.fulfillment) {
speech += req.body.result.fulfillment.speech;
speech += ' ';
}
if (req.body.result.action) {
speech += 'action: ' + req.body.result.action;
}
}
}
console.log('result: ', speech);
return res.json({
speech: speech,
displayText: speech,
data: [],
contextOut: [],
source: 'yahooweather'
});
答案 0 :(得分:2)
我希望我能在评论中问你如何将webhook网址放在api.ai的实现中,但我没有足够的声誉:(
根据您在heroku中收到的消息:at=info method=POST path="/" host=car-status.herokuapp.com request_id=b08633f7-33ab-45f3-9493-91be258a2b52 fwd="54.157.251.180" dyno=web.1 connect=0ms service=25ms status=404 bytes=376
我猜您只使用主机网址,而不是最终使用/hook
。
请参阅path="/"
和status=404
(未找到)。
在您的代码中,您没有/
路径的条目,只有/hook
,因此这是获得404的理由。