首页 > 解决方案 > 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,而不是contextJSON 文件中的小写 c,以防万一这似乎很重要。

标签: pythonalexa-skills-kitalexa-skill

解决方案


推荐阅读