java - 如何识别用户是否是首次在 Alexa 中启动技能?
问题描述
我们有什么方法可以识别用户是否是第一次启动技能?不使用后端数据库来存储访问信息?
例如,请求对象指定用户是否已授予权限。有没有办法确定用户是否是第一次启动该技能?
{
"version":"1.0",
"session":{
"new":true,
"sessionId":"amzn1.echo-api.session.abc",
"application":{
"applicationId":"amzn1.ask.sabc3"
},
"user":{
"userId":"amzn1.ask.account.AGQ"
}
},
"context":{
"System":{
"application":{
"applicationId":"amzn1.ask.skill.bb"
},
"user":{
"userId":"amzn1.ask.account.AGQ"
},
"device":{
"deviceId":"amzn1.ask.device.AHH",
"supportedInterfaces":{
}
},
"apiEndpoint":"https://api.amazonalexa.com",
"apiAccessToken":"eysed"
}
},
"request":{
"type":"LaunchRequest",
"requestId":"amzn1.echo-api.request.09b",
"timestamp":"2018-10-15T17:03:03Z",
"locale":"en-US",
"shouldLinkResultBeReturned":false
}
}
解决方案
如果没有Amazon S3这样的存储机制,恐怕无法知道用户是不是第一次启动该技能。
是的,请求对象会告诉您用户是否提供了权限,但无法从访问令牌中确定该用户第一次使用该技能。
推荐阅读
- python - 可选参数约束
- haskell - 为什么这里 1 和 2 在这个不相交的联合中
- python - 我收到错误命令“python setup.py egg_info”失败
- ios - IOS 出口合规信息已更改
- jquery - jQuery UI 自动完成:从对象数组加载:过滤被破坏
- android - 从模板生成新对象时如何将 template.xml 参数值转换为小写?
- vue.js - 如何在 vuex 和 quasar 应用程序中使用 createPersistedState?
- python - TensorFlow: AttributeError when calling TensorFlow's IO functions; why are they missing?
- c# - 编写DAO类来填充一对多关系
- node.js - 我有一个带有链式承诺的函数,之后我想返回一个整数值,但在函数解析之前我得到了 undefined