Google is committed to advancing racial equity for Black communities. See how.

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的連接,請參閱授權概述