当我呼叫api

时间:2018-02-28 15:37:48

标签: node.js actions-on-google dialogflow google-home

我正在使用DialogFlowV2开发Google Home应用,但我遇到了问题。

我正在使用Google Cloud Functions,我已经定义了3个函数,welcome,fallback和getTVShow。

第三个是有趣的,我从API获取数据并使用webhookClient的add方法发送。

我打电话时遇到了这个错误:

    Error: No responses defined for undefined
    at V2Agent.sendResponse_ (/user_code/node_modules/dialogflow-fulfillment/v2-agent.js:140:13)
    at WebhookClient.send_ (/user_code/node_modules/dialogflow-fulfillment/dialogflow-fulfillment.js:225:19)
    at promise.then (/user_code/node_modules/dialogflow-fulfillment/dialogflow-fulfillment.js:285:38)
    at process._tickDomainCallback (internal/process/next_tick.js:135:7)

我查看了源代码,这对应于请求源,该请求源在从请求主体的originalDetectIntentRequest中获取源数据后未定义。

所以,我在request.body.originalDetectIntentRequest上做了一个console.log,结果是:

    { payload: {} }

因此,出现错误是正常的,但我不想要它。

有人可以帮助我吗?

更新

我发现只有当我使用DialogFlow的“playground”时才会发生这种情况。它是https://console.dialogflow.com/右侧的“立即尝试”输入。 我在GitHub repo上发布了有关此问题。

更新2

这完全是关于一个被遗忘的回归。使用异步请求时,我们需要返回promise。

0 个答案:

没有答案