api.ai webhook没有在heroku上工作,错误206部分内容

时间:2017-03-16 00:22:46

标签: node.js google-home api-ai

我试图在heroku上运行基本的node.js webhook echo示例。但是我一直得到206个错误。我听说过这可以来自heroku所做的重定向或来自不完整的json。这里有什么帮助吗?

我还在api.ai上附上了我的意图截图

enter image description here

我在雅虎天气样本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'
});

1 个答案:

答案 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的理由。