0

我试图让基本的node.js webhook echo 示例在heroku 上工作。但是我不断收到 206 错误。我听说这可能来自 heroku 所做的重定向或来自不完整的 json。这里有什么帮助吗?

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

在此处输入图像描述

我在使用 yahoo 天气示例 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'
});
4

1 回答 1

2

我希望我能在评论中问你你是如何将 webhook url 放在 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我猜您只使用主机 url,而没有放在/hook最后。见path="/"status=404(未找到)。在您的代码中,您没有/路径条目,只有/hook,因此这将是获得 404 的原因。

于 2017-03-24T11:58:10.203 回答