首页 文章

如何捕获对话流响应?

提问于
浏览
0

我有一个对话框流程意图,我想编写一个javascript代码来获取此意图的json响应并将其显示在html文件中 . 我使用了webhook实现这个意图,现在我想在一个html文件中显示dialogflow和user之间的聊天记录 . 我用这个javascript代码提取并有对话框响应:

baseUrl = "https://api.dialogflow.com/v1/",
$.ajax({
    type: "POST",
    url: baseUrl + "query",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    headers: {
      "Authorization": "Bearer " + accessToken
    },
    data: JSON.stringify({query: text, lang: "en", sessionId: "b1973977-20be-4cdc-85a5-7f4225cfdb5a"}),

    success: function(data) {
      console.log("data",data);
      prepareResponse(data);
    },
    error: function() {
      respond(messageInternalError);
    }
  });
}

但它返回的json是不正确的,并且没有履行部分以便提取正确的数据并显示响应 .

返回的json是:

id: "a0114c2a-afdb-415e-af08-e7a2c5b7d925"
lang: "en"
result: {…}
action: ""
metadata: Object { intentName: "Edit.Attributes", intentId: "9601923d-596b-44df-80de-92dff61869cf", webhookUsed: "true", … }
parameters: Object { VarName: […], percentage: "20%", currncy: "", … }
resolvedQuery: "Change the attribute vacancy rate to 20%"
score: 1
source: "agent"
speech: ""
__proto__: Object { … }
sessionId: "b1973977-20be-4cdc-85a5-7f4225cfdb5a"
status: Object { code: 200, errorType: "success", webhookTimedOut: false }
timestamp: "2018-01-24T12:35:46.342Z"

2 回答

  • 0

    就我而言,这是解决方案:

    投入:

    url: baseUrl + "query?v=20170712",
    

    代替 :

    url: baseUrl + "query",
    

    在ajax电话中,解决了我的问题 .

  • 0

    对话流响应包含在speech和displayText属性中 .

相关问题