如何获取接入Alexa的设备endpoint及开发测试用的device_id?
开发思路验证
你基于directives开发Alexa智能家居Skill的思路是完全正确的,这是Alexa智能家居技能的官方标准开发模式,获取设备ID、已接入设备endpoint信息都是开发流程中的必要环节。
设备相关信息获取方法
1. 从技能事件日志直接抓取(适合测试阶段快速获取)
- 先完成测试设备的账号绑定、设备发现流程,确保设备已经出现在绑定账号的Alexa App设备列表中
- 进入Alexa开发者控制台对应技能的「测试」标签页,开启技能测试权限
- 对测试设备发起任意语音控制请求,例如“Alexa,打开[设备名]”
- 打开技能「监控」标签页下的「事件日志」,找到Alexa发送给你技能的
Alexa.Directive请求报文,直接提取对应字段:endpoint.endpointId:你在设备发现阶段上报给Alexa的自有设备唯一标识endpoint.deviceId:Alexa平台侧为该设备分配的唯一ID- 完整的endpoint结构也可以直接从请求的
endpoint字段完整获取
2. 调用List Endpoints接口批量拉取
- 你可以调用Alexa智能家居技能的
List EndpointsREST接口,拉取当前绑定用户下所有已接入你技能的设备列表 - 调用时传入对应用户的access token,返回结果会包含所有设备的endpointId、deviceId、支持的能力、厂商信息等全量endpoint数据
- 测试阶段可以直接在开发者控制台的内置测试工具中发起接口调用,无需额外搭建请求环境
测试阶段注意:必须使用和开发者账号关联的测试用户完成账号绑定,否则你无法在事件日志中查询到对应设备的请求数据。如果没有找到对应请求,优先排查技能测试权限是否开启、账号绑定是否成功、设备发现是否正常完成。
内容的提问来源于stack exchange,提问作者Eduardo
相关产品推荐
相关产品推荐

