CameraEventImage 架構
Nest Cam (舊版) 
sdm.devices.traits.CameraEventImage
凡是支援從事件生成圖片的裝置,都屬於這項特徵。
欄位
這個特徵沒有可用的欄位。
指令
GenerateImage
提供下載攝影機圖片的網址。
這個指令支援下列事件:
| 類型 | 元素 | 說明 | 
|---|---|---|
| 事件 | CameraMotion 特徵的動作事件 | 攝影機偵測到動作。 | 
| 事件 | 攝影機人物特徵的「人物」事件 | 攝影機偵測到人影。 | 
| 事件 | CameraSound 特徵的聲音事件 | 攝影機偵測到聲響。 | 
| 事件 | DoorbellChime 特徵的 Chime 事件 | 有人按了門鈴。 | 
eventId,即可接收與該事件相關的攝影機圖片下載網址。
GenerateImage 請求和回應
要求
POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
  "params" : {
    "eventId" : "Z7vWt2KdI0S8jmtRhJw7sJXMfz..."
  }
}
回應
{
  "results" : {
    "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
    "token" : "g.0.eventToken"
  }
}
GenerateImage 要求欄位
| 欄位 | 說明 | 資料類型 | 
|---|---|---|
eventId | 
      要要求相關攝影機圖片的事件 ID。 | string示例:「Z7vWt2KdI0S8jmtRhJw7sJXMfz...」  | 
    
GenerateImage 回應欄位
| 欄位 | 說明 | 資料類型 | 
|---|---|---|
url | 
      可從中下載攝影機圖片的網址。 | string示例:「https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...」  | 
    
token | 
      下載圖片時,要在 HTTP 授權標頭中使用的權杖。 | string示例:「g.0.eventToken」  | 
    
下載攝影機影像
使用 HTTP 授權標頭中的 token (採用基本授權),對 url 進行 GET 呼叫,從 GenerateImage
  指令回應下載攝影機圖片:
curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...使用 width 或 height 查詢參數,自訂下載圖片的解析度。您只需要指定其中一個參數。系統會根據攝影機的長寬比自動縮放另一個參數。
舉例來說,如果攝影機的長寬比為 4:3,如要下載解析度為 480 x 360 的攝影機影像,請指定寬度或高度:
寬度
curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480高度
curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360下載網址也適用其他限制:
- 如果網址中同時提供這兩個參數,系統會使用 
width並忽略height。 - 如果網址中未提供任一參數,系統會為 
width選擇預設值 480。 
如要瞭解圖片屬性,請參閱 CameraImage 特徵。
錯誤
系統可能會傳回下列與這項特徵相關的錯誤代碼:
| 錯誤訊息 | 遠端程序呼叫 | 疑難排解 | 
|---|---|---|
| 攝影機影像已無法下載。 | DEADLINE_EXCEEDED | 
    活動圖片會在活動發布後 30 秒過期。請務必在期限前下載圖片。 | 
| 事件 ID 不屬於攝影機。 | FAILED_PRECONDITION | 
    使用相機事件傳回的正確 eventID。 | 
  
如需完整的 API 錯誤代碼清單,請參閱 API 錯誤代碼參考資料。