python - 如何将文本转语音发送到 Google Home 设备?
问题描述
我让 DialogFlow 向我的服务器发送 Fulfillment webhook,并且我能够将文本转语音响应发送回谷歌家庭设备。
但是,如何触发文本转语音消息由设备读出,而无需从 google home 设备启动?
我在 SO 上看到了这个问题,这意味着它是可能的: Send audio file to DialogFlow using Python
我无法让他的代码工作,因为我不知道如何将我在 webhook 调用中获得的 userId/sessionId 链接到request.session_id
示例中使用的。
request = ai.text_request()
request.lang = 'de' # optional, default value equal 'en'
request.session_id = "<SESSION ID, UNIQUE FOR EACH USER>"
request.query = "Hello"
response = request.getresponse()
print (response.read())
我还找到了一个 CURL 来触发事件,但我似乎无法再次将 url 中的 sessionId 链接到我的设备。
curl -H "Authorization: Bearer YOUR_CLIENT_ACCESS_TOKEN"
"https://api.api.ai/v1/query?v=20150910&e=event_name&timezone=Europe/Paris
&lang=en&sessionId=1234567890"
解决方案
如果没有某种用户启动,Google Home 设备就无法读出某些内容。扬声器上没有相当于推送通知的功能。
推荐阅读
- html - 下拉列表中的 MVC 占位符
- javascript - Angular中带有id参数的Rest api调用
- python - 使用 pool.map() 时防止复制字典
- ruby - 按第三个属性值对 ruby 中的哈希进行排序
- php - 为 Woocommerce 中几乎所有产品的显示价格添加后缀
- visual-studio - Visual Studio 自定义数据可视化工具抛出 BadImageFormatException
- ruby - Ruby - 帮助组合语法以查找素数并将非素数减少为大于 1 的最小除数
- python - 如何在 python 机器学习中使用手势创建口语系统
- bash - Chef Bash onliner grep 另一个文件中的文件内容
- jqgrid - jqGrid addChildNode 调用函数时的错误