如何在Dialogflow JSON实现V2上从轮播中“ getSelectedOption”

时间:2018-06-20 06:33:44

标签: actions-on-google dialogflow

我正在使用DialogFlow,在“我的欢迎意图”上创建了一个轮播,然后创建了一个actions_intent_OPTION以实现该选项。

问题是..我无法获得此轮播选择的选项...如何获取JSON中的选项?这是我的功能:

'carrousel': () => {
    let responseToUser = {
          fulfillmentText: 'Your Option was.. ' + option // displayed response
        };
        sendResponse(responseToUser);
    },

并且我正在尝试让轮播选择这样的Option,但响应为UNSPECIFIED

var option = request.body.queryResult.parameters.tipo;

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您使用的是DialogFlow,则可以简单地进行以下操作:

app.intent('actions.intent.OPTION', (conv, params, option) => {
//Whatever you want to do with the option }

option参数将由用户选择。 Response Documentation上有更多详细信息。

(我使用Firebase托管代码,这种方法对我有用。)

如果您需要原始JSON中的内容,则似乎必须更深入地研究请求。根据我在尝试访问它时所能看到的信息,该用户的选定选项位于以下位置:

request.body.queryResult.outputContexts

从那里进入包含所有先前设置的上下文的列表。如果您获得正确的上下文(将为actions_intent_option),则应该能够通过选择以下选项来访问该选项:

.parameters.OPTION