簡體   English   中英

嘗試使用 Webhook On Dialogflow 動態提供響應時出現 Webhook 響應錯誤 (206)

[英]getting Webhook response error (206) when trying to give response Dynamically using webhook On Dialogflow

我正在嘗試在 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" + 
            "                \"optionInfo\": {\n" + 
            "                  \"key\": \"first title\"\n" + 
            "                },\n" + 
            "                \"description\": \"first description\",\n" + 
            "                \"image\": {\n" + 
            "                  \"url\": \"https://developers.google.com/actions/images/badges/XPM_BADGING_GoogleAssistant_VER.png\",\n" + 
            "                  \"accessibilityText\": \"first alt\"\n" + 
            "                },\n" + 
            "                \"title\": \"first title\"\n" + 
            "              },\n" + 
            "              {\n" + 
            "                \"optionInfo\": {\n" + 
            "                  \"key\": \"second\"\n" + 
            "                },\n" + 
            "                \"description\": \"second description\",\n" + 
            "                \"image\": {\n" + 
            "                  \"url\": \"https://lh3.googleusercontent.com/Nu3a6F80WfixUqf_ec_vgXy_c0-0r4VLJRXjVFF_X_CIilEu8B9fT35qyTEj_PEsKw\",\n" + 
            "                  \"accessibilityText\": \"second alt\"\n" + 
            "                },\n" + 
            "                \"title\": \"second title\"\n" + 
            "              }\n" + 
            "            ]\n" + 
            "          }\n" + 
            "        }\n" + 
            "      }\n" + 
            "    }\n" + 
            "  }\n" + 
            "}");
}

錯誤:

2018-11-02 16:14:43.906 IST Error in fulfillment status received from app endpoint. See ResponseMetadata in the response. Status code: 14. Error message: Webhook error (206)
 { 
   insertId: "6nwj8wf153t5q"  
   labels: {
            channel:  "preview"   
            querystream:  "GOOGLE_USER"   
            source:  "AOG_REQUEST_RESPONSE"   
           }
   logName: "projects/elysiot-217606/logs/actions.googleapis.com%2Factions"  
   receiveTimestamp:  "2018-11-02T10:44:43.940057016Z"  
   resource: {
             labels: {
                     action_id:  "actions.intent.TEXT"    
                     project_id:  "elysiot-217606"    
                     version_id:  ""    
                     }
             type:  "assistant_action"   
             }
   severity:  "ERROR"  
   textPayload:  "Error in fulfillment status received from app endpoint. See ResponseMetadata in the response. Status code: 14. Error message: Webhook error (206)"  
   timestamp:  "2018-11-02T10:44:43.906927701Z"  
   trace:  "projects/847724381623/traces/ABwppHFGjhCqYgY_YpSxJp5p9-s6NpvBRVzWdzGRhfypm0eZcqzYjDqjCVsdpxVXofc4xpOFLs4eAtWf9Ek"  
  }

屏幕截圖形式的相同錯誤:

在此處輸入圖片說明

我假設您正在使用 Java 構建 JSON 響應。 請求從 AoG 發送到調用您的 webhook 的 Dialogflow。 在這種情況下,Dialogflow 將原始 AoG 請求包裝到“originalDetectIntentRequest”中,如https://developers.google.com/actions/build/json/dialogflow-webhook-json 中所述

由於您正在解析 JSON 請求並在您的 webhook 中構建響應,因此您應該參考上述原始 JSON 協議的 URL。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM