带有Web挂钩填充的对话框流在webdemo应用程序中工作正常,但在Google Assistant中不起作用

时间:2018-12-06 04:35:27

标签: c# asp.net dialogflow-fulfillment

我为对话框流代理开发了一个基于ASP.NET核心C#的webhook。 我正在使用NUGET包“ Google.Cloud.Dialogflow.V2(1.0.0-beta02)”。

在“立即尝试”测试控制台和webdemo集成应用程序中,对话框流代理与webhook配合良好。 我从webdemo得到了正确的答复。但是,当我在google助手中尝试相同操作时,收到错误消息“我的测试应用当前未响应。请稍后重试。”

我的JSON响应如下:

{
  "responseMetadata": {
    "status": {
      "code": 10,
      "message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
      "details": [
        {
          "@type": "type.googleapis.com/google.protobuf.Value",
          "value": "{\"id\":\"6f7e665e-04db-4b62-839f-827c838ebfc9\",\"timestamp\":\"2018-12-06T03:54:45.245Z\",\"lang\":\"en-us\",\"result\":{},\"alternateResult\":{},\"status\":{\"code\":206,\"errorType\":\"partial_content\",\"errorDetails\":\"Webhook call failed. Error: 500 Internal Server Error\"},\"sessionId\":\"ABwppHEoYUpsQBATozb8uPBJduX7A-3Q-M1yqq_JuJga_SrbQk_5qfGlYZoV5x0zc5XaHgo7D8bMLtnXmL65SgVupZaAHcEuDQ\"}"
        }
      ]
    }
  }
}

我发回的WebHookResponse如下:

var dialogflowResponse = new WebhookResponse
        {
            FulfillmentText = "this is a test",
            FulfillmentMessages =
            { new Intent.Types.Message
                { SimpleResponses = new Intent.Types.Message.Types.SimpleResponses
                    { SimpleResponses_ =
                        { new Intent.Types.Message.Types.SimpleResponse
                            {
                               TextToSpeech = "this is a test",
                               DisplayText = "this is a test",

                            }
                        }
                    }
                }
            },
            Source="webhook-sample"

        };
        return dialogflowResponse;

我已经在Microsoft Azure中部署了Webhook。

在这方面请帮助我。另外,如果您需要更多详细信息,请告诉我。

0 个答案:

没有答案