如何解决因 INVALID_REQUEST_EXCEPTION 而失败的 ASK ChangeReport
How to troubleshoot ASK ChangeReport failing with INVALID_REQUEST_EXCEPTION
摘要:我在尝试提交 ChangeReport 事件时收到 INVALID_REQUEST_EXCEPTION 响应。
我正在与邮递员进行故障排除。
发布到:https://api.amazonalexa.com/v3/events
一个header:使用我的令牌授权(如果这是错误的,我得到正确的错误)
我的body:
{
"event":{
"header":{
"messageId":"06a6278a-0c38-47e5-90e9-12eef0205487",
"namespace":"Alexa",
"name":"ChangeReport",
"payloadVersion":"3"
},
"endpoint":{
"scope":{
"type":"BearerToken",
"token":"XXX My Token XXX"
},
"endpointId":"BedroomLight"
},
"payload":{
"change": {
"cause" : {
"type" : "PHYSICAL_INTERACTION"
},
"properties":[
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2019-03-09T15:22:48Z",
"uncertaintyInMilliseconds": 500
}]
}
}
}
}
回复:
{
"header": {
"namespace": "System",
"name": "Exception",
"messageId": "bb7a3bb7-5c2c-4568-8a31-ae24a075f15e"
},
"payload": {
"code": "INVALID_REQUEST_EXCEPTION",
"description": "The request was malformed."
}
}
我的输入通过了架构验证。
我已尝试替换已知的无效值,看看是否可以转移错误消息并缩小根本原因范围。
我与 Github 中的其他代码示例进行了比较,没有发现明显的错误。
我不确定如何缩小问题范围。
与我上面的理解相反,我没有使用正确的 BearerToken。我使用的是授权响应中提供的原始 OAuth 代码(我不理解安全交换的 LoginWithAmazon/LWA 部分)。
造成困难的另一个错误是缺少安全错误。当我创建授权 header 时,我省略了类型 (Bearer),而只是在 header 的值区域中包含了我的值,这可能是格式错误的根本原因。
摘要:我在尝试提交 ChangeReport 事件时收到 INVALID_REQUEST_EXCEPTION 响应。
我正在与邮递员进行故障排除。 发布到:https://api.amazonalexa.com/v3/events 一个header:使用我的令牌授权(如果这是错误的,我得到正确的错误)
我的body:
{
"event":{
"header":{
"messageId":"06a6278a-0c38-47e5-90e9-12eef0205487",
"namespace":"Alexa",
"name":"ChangeReport",
"payloadVersion":"3"
},
"endpoint":{
"scope":{
"type":"BearerToken",
"token":"XXX My Token XXX"
},
"endpointId":"BedroomLight"
},
"payload":{
"change": {
"cause" : {
"type" : "PHYSICAL_INTERACTION"
},
"properties":[
{
"namespace": "Alexa.PowerController",
"name": "powerState",
"value": "ON",
"timeOfSample": "2019-03-09T15:22:48Z",
"uncertaintyInMilliseconds": 500
}]
}
}
}
}
回复:
{
"header": {
"namespace": "System",
"name": "Exception",
"messageId": "bb7a3bb7-5c2c-4568-8a31-ae24a075f15e"
},
"payload": {
"code": "INVALID_REQUEST_EXCEPTION",
"description": "The request was malformed."
}
}
我的输入通过了架构验证。
我已尝试替换已知的无效值,看看是否可以转移错误消息并缩小根本原因范围。
我与 Github 中的其他代码示例进行了比较,没有发现明显的错误。
我不确定如何缩小问题范围。
与我上面的理解相反,我没有使用正确的 BearerToken。我使用的是授权响应中提供的原始 OAuth 代码(我不理解安全交换的 LoginWithAmazon/LWA 部分)。
造成困难的另一个错误是缺少安全错误。当我创建授权 header 时,我省略了类型 (Bearer),而只是在 header 的值区域中包含了我的值,这可能是格式错误的根本原因。