如何从Google Doorbell获取已验证人员的姓名或ID
解决Google Doorbell Person Event无法获取已验证人员姓名的方案
Google Doorbell触发的Person Event仅会返回检测到人员的基础事件元数据,不会直接内嵌已验证访客/家庭成员的身份字段,所有身份关联数据需要通过Google Smart Device Management (SDM) API单独查询。
具体操作步骤
- 先确认你已经完成SDM API的接入权限申请,并且你的GCP项目已经绑定了对应的Nest设备访问权限,开启了
sdm.devices.events和sdm.devices.read两个权限scope - 当你从Pub/Sub拿到Person Event后,先提取事件返回的
eventId和对应的deviceId字段 - 调用SDM API的
events.get接口,传入获取到的eventId和deviceId,请求参数中额外指定需要返回person.recognizedName字段 - 如果该人员是你在Nest App中已经录入的已验证人员,返回结果中会携带对应录入的姓名;如果是陌生人员,该字段会返回空值
注意事项
- 如果需要拿到人员的唯一ID,可以提取返回结果中的
person.personId字段,该ID和你Nest账户中录入的人员身份一一绑定 - 调用SDM API的频率不要超过单设备每分钟10次的限制,避免触发配额封禁
- 确保你的GCP服务账号已经被授予SDM项目的
sdm.viewer或更高权限,否则无法获取身份字段 - 旧版Works with Nest API已停止服务,所有身份查询必须通过新版SDM API实现
内容的提问来源于stack exchange,提问作者DiegoAlessandro
相关产品推荐
相关产品推荐

