如何让Google Assistant向自定义API传递数据?替代已弃用的Conversational Actions
替代已弃用的Conversational Actions实现Google Assistant调用自定义API的方案
方法1:使用Actions Builder(Google Assistant官方新平台)
这是目前Google推荐的替代方案,完全支持自定义意图和后端API交互:
- 在Actions Console创建新的Assistant项目,定义自定义触发意图(比如匹配"Tweet this: $text"这类语句的意图),通过实体配置提取用户语音中的文本参数(即示例里的"I am a developer"部分)。
- 为意图配置Fulfillment:可以选择用Google Cloud Functions托管处理逻辑,或者接入自己的服务器。在Fulfillment代码中,把提取到的文本参数URL编码后,拼接成
https://example.com/tweet?text=I%20am%20a%20developer格式的请求,发送到你的自定义API。 - 自定义API处理完成后,返回需要Assistant回复用户的内容(比如"推文已发布成功"),Fulfillment接收这个返回值后,再传递给Google Assistant,由它朗读给用户。
方法2:使用App Actions(适用于有Android应用的场景)
如果你有对应的Android应用,可以通过App Actions实现Assistant与应用的联动,进而调用自定义API:
- 定义自定义的语音触发短语(比如"Hey Google, 用我的应用发推文:$text"),通过App Actions的Schema标记或者测试工具完成配置,让Assistant识别并提取文本参数。
- 在Android应用中接收Assistant传递的参数,调用你的自定义API完成操作,之后可以通过应用内的提示,或者让Assistant返回操作结果给用户。
注意事项
- 确保自定义API使用HTTPS协议,同时添加必要的身份验证机制,避免未授权访问和参数注入风险。
- 开发过程中可以使用Google Assistant的测试工具,或者在绑定测试账号的设备上直接触发命令进行调试。
内容的提问来源于stack exchange,提问作者previous_developer
相关产品推荐
相关产品推荐

