java - 让我的谷歌助手在特定的词上调用我的 REST API
问题描述
开始一个新项目(基于spring boot的Rest api),我想让它连接到谷歌。
基本上,我想通过对谷歌助手说特定的话来触发对我的 REST API 的调用。例如,如果我说“OK {myApiName}”然后“执行此操作”,它将调用我的 api 上先前定义的端点作为 POST,有效负载中包含“执行此操作”。
我已经检查了 Google Actions API,但我很迷茫……这可能吗?有什么建议吗?
我正在寻找易于配置的东西,谷歌总是可以触发相同的端点,我更喜欢自己处理有效载荷的解释。
非常感谢 !
解决方案
我不确定我是否理解你为什么要从 Google Assistant 进行 API 调用,但要做到这一点,你可以做的是构建一个Conversational Aciton,这是一个用于 Google Assistant 的应用程序。可以使用 Dialogflow 以非常简单和快速的方式完成此操作。
Dialogflow 是一种 NLP,它可以识别人类语言并“理解”用户的要求。
在 Dialogflow 中,您可以实现意图。意图用于将某个单词或短语与“动作”相关联。
在您的情况下,该短语可能是“OK {myApiName} do {this}”,并且相关的操作是使用有效负载 {this} 调用 {myApiName}。
在“Dialogflow Fulfillment”中,您可以实现 API 调用并返回您想要的结果。
流程是这样的:
要实现您的意图,您应该执行以下操作:向 Dialogflow 指定“训练短语”,使其能够匹配用户的意图并将有效负载封装在“参数”中。参数只不过是一个变量,您需要存储要发送到 API 的有效负载。
此时,只需实现与您的意图相关的实现,以使用保存在参数中的相关有效负载进行 API 调用。像这样的东西:
做起来比说起来容易。我希望我已经让你了解它是如何工作的。我建议您阅读文档以更好地理解。
推荐阅读
- javascript - scrollIntoView 在 mozilla 中工作,但在 chrome 中不工作
- regex - Convert regex pattern to LL1 parser
- swift - Swift Vapor 聊天室
- python - 了解 SQLAlchemy 中的 session.merge()
- python - 为大量数据制作 one-hot 向量
- java - 替换已弃用的 Sun 软件包将 Tiff 转换为 Jpeg
- authentication - nuxt auth,用户在刷新后注销
- vue.js - 在 vue 表单生成器中,我具有带有六个输入字段的图像上传功能。但我正在尝试使用单个输入字段进行多次上传
- postgresql - SQL - 对同一张表上的两个快照进行计数比较
- c - 为什么 char 类型指针数组 wsklan[0] 和 wsklan[0][0] 中的地址不同?