首页 > 解决方案 > 让我的谷歌助手在特定的词上调用我的 REST API

问题描述

开始一个新项目(基于spring boot的Rest api),我想让它连接到谷歌。

基本上,我想通过对谷歌助手说特定的话来触发对我的 REST API 的调用。例如,如果我说“OK {myApiName}”然后“执行此操作”,它将调用我的 api 上先前定义的端点作为 POST,有效负载中包含“执行此操作”。

我已经检查了 Google Actions API,但我很迷茫……这可能吗?有什么建议吗?

我正在寻找易于配置的东西,谷歌总是可以触发相同的端点,我更喜欢自己处理有效载荷的解释。

非常感谢 !

标签: javaspring-bootrestapigoogle-assistant-sdk

解决方案


我不确定我是否理解你为什么要从 Google Assistant 进行 API 调用,但要做到这一点,你可以做的是构建一个Conversational Aciton,这是一个用于 Google Assistant 的应用程序。可以使用 Dialogflow 以非常简单和快速的方式完成此操作。

Dialogflow 是一种 NLP,它可以识别人类语言并“理解”用户的要求。

在 Dialogflow 中,您可以实现意图。意图用于将某个单词或短语与“动作”相关联。

在您的情况下,该短语可能是“OK {myApiName} do {this}”,并且相关的操作是使用有效负载 {this} 调用 {myApiName}。

在“Dialogflow Fulfillment”中,您可以实现 API 调用并返回您想要的结果。

流程是这样的:

在此处输入图像描述

要实现您的意图,您应该执行以下操作:向 Dialogflow 指定“训练短语”,使其能够匹配用户的意图并将有效负载封装在“参数”中。参数只不过是一个变量,您需要存储要发送到 API 的有效负载。

在此处输入图像描述

此时,只需实现与您的意图相关的实现,以使用保存在参数中的相关有效负载进行 API 调用。像这样的东西:

在此处输入图像描述

做起来比说起来容易。我希望我已经让你了解它是如何工作的。我建议您阅读文档以更好地理解。


推荐阅读