【发布时间】:2019-01-07 13:38:39
【问题描述】:
我目前正在开发 alexa 技能。这实际上是我第一次尝试这个,到目前为止我还挺不错的。但是,我偶然发现了一个似乎很普遍的问题,但我找不到如何解决它的答案。
首先要做的事情: 我通过关注a tutorial 开始了这项技能。可能是本教程已过时,因此出现此错误。
我从头开始创建了一项技能,它适用于调用 LaunchRequest 的部分:
如您所见,我得到了预期的回复。 (适用于测试环境以及 alexa 本身)。现在,当尝试调用IntentRequest 时,我只会收到错误消息:
无法调用远程端点,或者它返回的响应无效。
从图片/请求中我可以看出,调用了正确的意图请求(在我的情况下为 getSubscriberCount) - 这就是我不再知道如何解决这个问题的地方。
为了简短起见,这里是 Intent 的 JS 部分:
案例“IntentRequest”:
// 意图请求
console.log(INTENT REQUEST)
switch(event.request.intent.name) {
case "GetSubscriberCount":
var endpoint = "my url"
var body = ""
https.get(endpoint, (response) => {
response.on('data', (chunk) => { body += chunk })
response.on('end', () => {
var data = JSON.parse(body)
var subscriberCount = data.items[0].statistics.subscriberCount
context.succeed(
generateResponse(
buildSpeechletResponse(`Du hast momentan ${subscriberCount} Abonnenten`, true),
{}
)
)
这导致了我的问题。为了测试到底出了什么问题,我尝试了以下方法:
- 在我的浏览器中调用了端点 --> 正确的输出
- 将“响应”调整到最低,看看是否有效 --> 无效
- 检查了与此错误相关的多个来源 --> 也没有帮助
我看到了一些解决此问题的方法,因为这似乎是一个常见问题,但我迷路了。 Someone 提到了一个环境变量,我无法动手。 Another one 建议手动运行 JSON 请求,我尝试过,但导致同样的错误。
希望你能在这里帮助我。
【问题讨论】:
标签: javascript node.js amazon-web-services alexa