使用dialogflow API时,应在哪里提取正确的响应消息?

时间:2019-02-28 07:44:57

标签: dialogflow actions-on-google dialogflow-fulfillment

我以这种方式向dialogflow发送了一个请求:

responses = await sessionClient.detectIntent(request)

我还使用了来自Google动作的“对话流”来处理这样的意图:

app.intent('Get_Name', (conv, {name}) => {
    conv.ask("I got you")
    conv.ask(`You just called me ${name}. (from typescript)`)

});

但是,我无法从“ detectIntent”的“ response”返回中提取响应,我只能看到:

DialogFlow.sendTextMessageToDialogFlow: Detected intent [ { responseId: 'some_id',
[Node]     queryResult:
[Node]      { fulfillmentMessages: [Array],
[Node]        outputContexts: [],
[Node]        queryText: 'hello ivan',
[Node]        speechRecognitionConfidence: 0,
[Node]        action: '',
[Node]        parameters: [Object],
[Node]        allRequiredParamsPresent: true,
[Node]        fulfillmentText:
[Node]         'Cannot display response in Dialogflow simulator. Please test on the Google Assistant simulator instead.',
[Node]        webhookSource: '',
[Node]        webhookPayload: [Object],
[Node]        intent: [Object],
[Node]        intentDetectionConfidence: 1,
[Node]        diagnosticInfo: [Object],
[Node]        languageCode: 'en-us' },
[Node]     webhookStatus:
[Node]      { details: [], code: 0, message: 'Webhook execution successful' } },
[Node]   undefined,
[Node]   undefined ]

Google上的操作响应包含正确的结果,但我不知道如何在代码中获得该结果。 从dialogflow,我只能在对话流模拟器中得到“无法显示响应”。请改为在Google Assistant模拟器上进行测试。'

当我刚刚这样做的时候,它工作正常:

app.intent('Get_Name', (conv, {name}) => {
    conv.ask(`You just called me ${name}. (from typescript)`)

});

我想做的是从自定义的UI发送一条消息,然后将其发送到dialogflow,dialogflow将使用webhook进行处理,然后得到响应,并将其发送回客户端。 我对Node.js和dialogflow完全陌生...

所以,我应该在哪里或如何获得正确的答复。

0 个答案:

没有答案