我正在尝试在 java 中使用 DialogFlow api 进行 google 操作。我正在使用 Webhook 对 DialogFlow 上的操作进行请求响应,如下图所示。当尝试此代码时,它工作正常并提供适当的响应,因为对话流具有预定义的操作设施。代码:@PostMapping("/webhook")public ResponseEntity payload(RequestBody FulfillmentResponse fulfillmentResponse) { log.info(fulfillmentResponse.getQueryResult().getQueryText()); return ResponseEntity.ok(HttpStatus.OK);}但是当我动态给出响应时。它给了我一个错误。代码:@PostMapping("/webhook")public ResponseEntity payload(RequestBody FulfillmentResponse fulfillmentResponse) { log.info(fulfillmentResponse.getQueryResult().getQueryText()); return ResponseEntity.ok("{\n" + " \"data\": {\n" + " \"google\": {\n" + " \"expectUserResponse\": true,\n" + " \"richResponse\": {\n" + " \"items\": [\n" + " {\n" + " \"simpleResponse\": {\n" + " \"textToSpeech\": \"Choose a item\"\n" + " }\n" + " }\n" + " ]\n" + " },\n" + " \"systemIntent\": {\n" + " \"intent\": \"assistant.intent.action.TEXT\",\n" + " \"data\": {\n" + " \"@type\": \"type.googleapis.com/google.actions.v2.OptionValueSpec\",\n" + " \"listSelect\": {\n" + " \"title\": \"Hello\",\n" + " \"items\": [\n" + " {\n" + "}");}
1 回答
浮云间
TA贡献1829条经验 获得超4个赞
我假设您正在使用 Java 构建 JSON 响应。请求从 AoG 发送到调用您的 webhook 的 Dialogflow。在这种情况下,Dialogflow 将原始 AoG 请求包装到“originalDetectIntentRequest”中,如https://developers.google.com/actions/build/json/dialogflow-webhook-json 中所述
由于您正在解析 JSON 请求并在您的 webhook 中构建响应,因此您应该参考上述原始 JSON 协议的 URL。
希望这可以帮助。
添加回答
举报
0/150
提交
取消