nest sdm api:列出设备时为空响应

nest sdm api: empty response when listing devices

我在 Whosebug 上问这个问题,因为据我所知,这是唯一一个 Google 为这个 API 提供支持的地方,尽管这似乎真的需要检查我的google项目确定问题。

反正我已经反复按照开发者控制台里的nest device access quick start guide to the letter, from start to finish with a fresh project, verifying every step reaches the described state. At the end of completing the guide, I can see my project in the Partner Connections list. The SDM API is enabled for the project when I look at the Smart Device Management API page,找对了项目

如该指南中所述,手动执行 oauth2 流程会生成访问令牌。

但是,当我像这样发出设备列表调用时(如我链接到的快速入门指南中所述)

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/<redacted project id>/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer <redacted access token>'

用200调用returns,但响应的全部内容如下:

{}

当我查看“合作伙伴连接”页面时,我可以看到我已明确授予对我希望项目能够访问的设备的访问权限。看 this screenshot of the partner connections page 表示我已允许访问我希望 API 能够看到的设备。

oauth2 的所有授权回调 URL 都是 https。

在这一点上,我已经花了多个晚上的时间来抨击这一点。我在这里做错了什么?

在 API 不再列出我的恒温器后,我暂时将其位置切换到不同的位置,然后再将其切换回来。出于某种原因,它有所帮助。

您可以在 Nest 网络服务中找到它:设置 -> 关于 -> 位置

我希望它也对你有用。

尝试了位置更改和随处建议的其他几种解决方法。当我查询 API 时,我只会得到 1 台设备。我将未显示的设备重置为出厂默认设置,并从头开始重新设置所有内容。成功了。 Home Assistant 上的简单集成重新加载备份了不可用的设备和 运行。