Google 致力于为黑人社区推动种族平等。查看具体举措

Nest API 的架构

关于 Nest 服务

Nest 应用程序允许用户从任何地方连接到他们的家。所有 Nest 设备(恒温器、保护器和相机)和应用程序(iOS、Android 和网络应用程序)都连接到 Nest 服务。

云到云示例

Nest 服务提供了家庭的数据模型。设备和应用程序从此数据模型中读取数据以采取适当的措施。他们更新数据模型以反映系统中的变化。

例如,恒温器从数据模型中读取其目标温度。它将环境温度设置为其当前测量值,并将传感器数据发送到 Home/Away Assist,从而相应地调整结构模式。

Nest 设备在受限环境中运行。电力有限,家庭网络连接可能不可靠。您的产品和服务可以利用我们的设备算法为用户提供简单、直观的家居体验。

数据模型

巢API被表示为与顶层属性JSON文档metadatadevices ,和structures 。您的 Works with Nest 产品使用此 JSON 文档与 Nest 设备和相关状态变化进行交互并做出反应。

鸟巢structures代表了现实世界中的物理结构。他们作为一个组织点devices和存储数据的建设作为一个整体。通常情况下, structure是用户家中。

devices表示为结构内的物理设备(恒温器,保护,和照相机)。

JSON 文档中的每个数据元素都可以通过 URL(也称为“数据位置”)进行寻址。 Works with Nest 产品可以读写本文档的各个部分并订阅更改。这种订阅功能允许 Works with Nest 产品实时响应对系统所做的更改,例如当用户将结构设置为离开时关灯。

对象也在现实世界的约束下工作。数据模型通过防止意外和危险的行为来保护设备和用户的家。例如,当启用紧急加热时,恒温器不会运行空调。

探索这个数据模型交互的API参考

预期状态

Nest 服务存储系统的权威状态,Works with Nest 产品订阅更改。修改此状态(例如,更改恒温器的目标温度)会导致服务向所有订阅者推送更改通知。

由于这种传播有一些延迟,并且网络可能不可靠,因此产品观察到的状态可能不是其他产品或服务当前观察到的状态。随着消息在各种产品之间传输,状态最终会同步。

这种面向文档的发布/订阅模型提供响应式应用程序交互。

使用 Nest 服务

要访问 Nest 服务中的 REST 端点,请在您的产品中使用 HTTPS。有许多第三方客户端库可用于此目的。

权限和授权

我们希望允许开发人员构建产品和服务,让家庭变得更美好,同时又不损害用户隐私和安全。我们所有的通信都是安全的,访问数据的权限始终由用户明确授予。欲了解更多信息,请参见权限概述

授权由 OAuth 2.0 协议处理。当用户同意提供对所请求权限级别的访问权限时,Nest 会对该请求进行身份验证,并向请求者授予访问令牌。该访问令牌可用于访问 Nest API 并与用户的结构和设备进行交互。

授予访问令牌可在用户、Works with Nest 产品和 Nest 之间建立信任关系。用户可以随时撤销访问。

要了解如何授权巢API的连接,请参阅授权概述