希望这是一个快速的过程。我有一个使用 AWS Lambda 函数构建的自定义 Alexa 技能。该技能效果很好,但我希望该技能只能由我的两个 Alexa 设备之一访问。我查看了
request
标头,但找不到任何设备原始 ID,因此下面的代码当然不起作用。没有将此信息放入 request
似乎是一个疏忽(context
也没有帮助)。有没有办法设置我的 Lambda 函数来了解此信息?也许我需要从 Alexa Dev Console 技能传递更多信息?任何帮助将不胜感激。
exports.handler = function(request, context) {
if(request.originDevice == "Alexa Pop 1" ) return
...
}
发起请求的设备的用户友好名称不会传递给您的 lambda。有一个 deviceId 值,但每次启用该技能时该值都会有所不同。当您从特定 Alexa 设备发出请求并在 Lambda 中使用该请求时,您可以通过检查日志来找出 deviceId。但如果您禁用/重新启用该技能,该值将会改变。
请求.Context.System.device.deviceId