node.js - 即使卡片出现,Alexa 也没有从技能中发出语音响应
问题描述
我的亚历克斯技能咨询一个API并根据请求返回一些数据,不同的数据。它是用 node.js 编写的。它工作了几年。
然后它在第一次询问时停止响应。现在它根本不跟我说话。然而,卡片忠实地出现在我的手机上,表明数据正在被正常检索。
我刚刚记录了 lambda 返回的响应对象,对我来说它看起来不错。这里是:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "as of 06:34 unofficial range estimate is Between 82 and 131 miles"
},
"card": {
"type": "Standard",
"title": "Battery status for Leaf1malc",
"text": "As of:\t2020/03/23 06:34\nYou have 78.93% battery or 11 out of 12 bars\nGOM Estimate\t103 A/C on, or 109 A/C off\nCynical estimate\tBetween 82 and 131 miles\n\tThe car is not plugged in.",
"image": {
"largeImageUrl": "https://gb.nissanconnect.eu/Content/static/images/nissan/my-leaf.jpg"
}
},
"shouldEndSession": true
}
这一切都在 Lambda 测试工具和 Alexa 技能开发控制台中按预期工作。
我刚刚重构了代码以使用async和await。这是希望解开通常的回调链纠结,使其更容易调试。一旦我开始运行,它就会回到我最初的行为。
我用谷歌搜索,找不到其他人有这个问题。它在我的代码发生任何变化之前就出现了,尽管我不得不更新 node.js 版本,因为亚马逊抱怨 Lambda 使用的是一个已弃用的版本。
当前的 node.js 版本是 10。
请看看我的响应对象,看看我做错了什么。
附言。刚用SSML试了一下,还是没有声音。
解决方案
推荐阅读
- knockout.js - 从 Knockout ObservableArray 中获取并移除随机对象
- android - Kotlin 中的类继承和参数化类型:泛型可以实现子类型多态吗?
- lambda - 使用 Java 流从 Guava 表中提取统计信息
- xtext - Xtext 从其他语法访问语法元素
- autohotkey - AHK 更改 Nvidia 颜色设置
- ios - 经过身份验证的用户如何使用 Swift 将文件上传到 iWatch 上的 S3?
- python - 创建绘图后设置轴属性
- postgresql - 返回带列的表
- python - 有没有办法在不启动服务器(可能作为库)的情况下使用 postgresql?
- jpa - Injecting Services in Entity Listener ...?