- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我希望我的 Google 助理应用程序先与我的网络服务器对话,然后再与 Dialogflow 对话。 DialogFlow 的记录方式是,Assistant 首先与其对话,然后将其传递到我的 webhook。我想用另一种方式来做。
最佳答案
要让 Google 智能助理直接与您的服务器对话(中间没有 Dialogflow),您需要使用 Actions SDK .您将创建一个 actions.json定义触发信息和 webhook URL 的文件。 (您无法摆脱 webhook - 只需更改它的调用方式即可。)您的 webhook 将使用与 Dialogflow 的 JSON 格式不同的 JSON 调用,或者您可以使用具有类似界面的 node.js 库到 Dialogflow 版本。
然后,您的 webhook 可以使用 /query endpoint 调用 Dialogflow (对于 Dialogflow V1 API)或 detectIntent message (对于 Dialogflow V2 API)。您可以向它发送来自用户的文本或指示用户操作的事件(或者,实际上,您想要的任何内容)以及您希望的参数和上下文。 Dialogflow 将从其回复部分或通过将其发送到另一个 fulfillment webhook 来发送回复 - 无论您选择什么。
您的服务器将收到此回复,以及设置的任何上下文和参数。听起来您会将回复发送给用户,可能无需进一步处理,但您可以随心所欲。您可能希望将上下文信息存储在 conversation token 中, user storage object ,或您的服务器希望使用的其他一些数据存储。
有一些samples for using the Actions SDK尽管它们都没有说明从 webhook 调用 Dialogflow。 (这不是一个非常常见的模式 - 大多数用例以其他方式工作得更好。) samples for Dialogflow主要用于 webhook,尽管“代理到人工切换”确实说明了从您的代码发送到 Dialogflow。
关于php - 我希望我的谷歌助手应用程序先与我的网络服务器通信,然后再与 dialogflow 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49001712/
我有本地更改和远程更改。 有人告诉我必须先推,再 pull 。这背后有什么原因吗? 最佳答案 那个人错了:正确的模型是pull-before-you-push,而不是相反。 当您pull时,git 将
我正在使用最新版本的 Flat UI Pro 1.3.2 ( http://designmodo.com/flat/ ),jQuery 插件 flatui-radiocheck v0.1.0 和 iO
我是一名优秀的程序员,十分优秀!