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

Nest API 的架构

Nest 服务简介

借助 Nest 应用,用户可以随时随地与家中连接。所有 Nest 设备(恒温器、保护机制和摄像头)和应用(iOS、Android 和 Web 应用)都会连接到 Nest 服务。

云到云示例

Nest 服务可提供住宅数据模型。从此数据模型中读取的设备和应用会采取适当的操作。它们会更新数据模型以反映系统的更改。

例如,恒温器从数据模型中读取其目标温度。它会将环境温度设为其当前的测量值,并将传感器数据发送至在家/外出助手,以便相应地调整结构模式。

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

数据模型

Nest API 表示为 JSON 文档,顶级属性为 metadatadevicesstructures。您的 Works with Nest 产品会使用此 JSON 文档与 Nest 设备和相关状态变更进行交互,并作出响应。

Nest structures 代表现实世界中的实体结构。它们充当 devices 的组织点,存储整个建筑物的数据。通常,structure 是用户首页。

Nest devices 表示结构内的物理设备(恒温器、保护器和摄像头)。

JSON 文档中的每个数据元素都可以通过网址来访问(也称为“数据位置”)。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 之间建立信任关系。用户可以随时撤消访问权限。

如需了解如何授权与 Nest API 的连接,请参阅授权概览