让我的谷歌助手在特定的词上调用我的 REST API
Posted
技术标签:
【中文标题】让我的谷歌助手在特定的词上调用我的 REST API【英文标题】:Make my google assistant call my REST API on specific words 【发布时间】:2020-06-26 20:32:23 【问题描述】:开始一个新项目(基于spring boot的Rest api),我想让它连接到谷歌。
基本上,我想通过对谷歌助手说特定的话来触发对我的 REST API 的调用。例如,如果我说“OK myApiName”然后“执行此操作”,它将调用我的 api 上先前定义的端点作为 POST,并在有效负载中使用“执行此操作”。
我已经检查过 Google Actions API,但我很迷茫…… 这可能吗 ?有什么建议吗?
我正在寻找易于配置的东西,Google 总是可以触发相同的端点,我更喜欢自己处理负载的解释。
非常感谢!
【问题讨论】:
听起来您正在尝试从 Google 助理开始创建一些东西。那是对的吗?您说您已经检查了 Actions API - 是否有一些特定的东西让您感到困惑?当您有特定的问题,或者当您尝试了一些不起作用的东西并且您需要帮助使其正常工作时,Stack Overflow 的效果最好。宽泛的问题可能很难回答 - 您提供的信息越多,我们提供帮助的机会就越大。见How do I Ask a Good Question。 【参考方案1】:我不确定我理解您为什么要从 Google 助理进行 API 调用,但要做到这一点,您可以构建一个 Conversational Aciton,这是一个用于 Google 助理的应用程序。使用 Dialogflow 可以非常简单快速地完成此操作。
Dialogflow 是一种 NLP,可识别人类语言并“理解”用户的要求。
在 Dialogflow 中,您可以实现意图。意图用于将某个单词或短语与“动作”相关联。
在您的情况下,短语可能是“OK myApiName do this”,相关的操作是使用有效负载 this 调用 myApiName。
在“Dialogflow Fulfillment”中可以实现API调用,返回你想要的结果。
流程是这样的:
要实现您的意图,您应该执行以下操作:向 Dialogflow 指定“训练短语”,使其能够匹配用户的意图并将有效负载封装在“参数”中。参数只不过是一个变量,您需要存储要发送到 API 的有效负载。
此时,只需实现与您的意图相关的实现,即可使用保存在参数中的相关负载进行 API 调用。像这样的:
说起来容易做起来难。我希望我已经让你了解它是如何工作的。我建议您阅读文档以更好地理解。
【讨论】:
以上是关于让我的谷歌助手在特定的词上调用我的 REST API的主要内容,如果未能解决你的问题,请参考以下文章