python - Alexa Skills Kit 'Context' 对象没有属性 'System'
问题描述
当它使用我的技能时,我正在尝试获取 Alexa 设备的时区。我尝试使用
timeZone = handler_input.request_envelope.context.System.user.access_token
获取访问令牌并将其用于 API 以获取时区。每当它运行时,我都会收到错误消息'Context' object has no attribute 'System'
。这是技能接收到的 JSON 的缩短版本:
{
"version": "1.0",
"session": {
"new": false,
"sessionId": "amzn1.echo-api.session.session-id",
"application": {
"applicationId": "amzn1.ask.skill.application-id"
},
"user": {
"userId": "amzn1.ask.account.userID"
}
},
"context": {
"System": {
"application": {
"applicationId": "amzn1.ask.skill.my-skill-id"
},
"user": {
"userId": "amzn1.ask.account.userID"
},
"device": {
"deviceId": "DeviceIDOfAlexaDeveloperConsoleTester",
"supportedInterfaces": {}
},
"apiEndpoint": "https://api.amazonalexa.com",
"apiAccessToken": "apiAccessTokenIsHere"
}
}
}
context
确实有属性System
。我不明白为什么它说它没有。它指的是不同的上下文吗?我注意到错误Context
是大写的 C,而不是context
JSON 文件中的小写 c,以防万一这似乎很重要。
解决方案
推荐阅读
- java - 我在 Tomcat webb 应用程序中得到 java.lang.ClassNotFoundException: org.springframework.web.context.WebApplicationContext
- spring - spring:eval 一个动态表达式
- sql - 如何从链接服务器(SQL Server)获取表的元数据
- kubernetes - istio:服务之间通过域名请求返回 404
- spring-boot - 如何在 docker(Winodws) 中读/写文件系统
- c# - C# 检查在命名方法中设置了哪些参数
- python-idle - Python IDLE 显示我刚刚输入的文本很慢
- html - 如何使用 HTML 和 CSS 在导航菜单中垂直向下移动图像
- git - 使用 git,有没有办法说,只是忽略冲突并继续一切?
- typescript - 如何在 nextjs 项目中使用 ts-transformer-keys?