一个非常简单的dialgoue流程实现webhook在c#中不起作用

时间:2018-06-11 19:55:28

标签: c# webhooks actions-on-google dialogflow google-home

我是webservices的新手,我基本上试图在C#中创建一个webhook并将其托管在azure上,这将是google助手实现对话框流程的终点。我搜索了很多,发现了谷歌助手 - 对话框流程所期望的JSON响应并以这种方式做到了。链接如下。

http://sprotsapicoretest20180525012122.azurewebsites.net/api/values

如果你点击GET,你将得到一个"它正在测试消息。"但如果你从邮递员那里发帖,你就会得到一个合适的JSON。

然而,即使在POSTMAN中收到响应,在对话框流中实际尝试时它也不起作用。

即使POST在POSTMAN中测试后POST工作正常,但我无法理解为什么它不起作用。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

您没有发布错误的内容,因此问题可能有多种原因。

您案件中最可能出现的两个问题是

  1. 您没有使用具有有效SSL证书的HTTPS端点。

  2. 以v1格式返回JSON,而Dialogflow项目正在使用v2。

  3. 如果Dialogflow正在发送您在Intent中设置的响应,而不是您从webhook发回的响应,则通常来自其中一个:

    1. 您实际上并没有调用webhook。确保已启用“为此意图启用webhook调用”。

      enter image description here

    2. 您的webhook没有返回任何内容,或者返回的内容格式不正确。 (同样,可能是您从C#代码返回Dialogflow v2格式的JSON,但您的Dialogflow项目已设置为v1。)