【塗鴉物聯網足跡】塗鴉雲平台接口說明


前序系列文章>>>【塗鴉物聯網足跡】API及SDK介紹

我們系列文章,都會圍繞如何完成一款智能“隔空接吻機”的開發。希望能幫到各異地戀__or__異國戀的情侶們!

本文我們會大概講解基於 OpenAPI 進行開發時所涉及到的 API 調用方法、規范、示例以及集成 SDK 相關內容。內容會比較硬核,請各單位注意!

一、開發流程
注冊開發者賬號
雲開發創建雲應用項目,獲取 client_id & secret
說明:開發者平台 key 的名稱為 accessId & accessKey

  1. 創建 SDK:在塗鴉 IoT 平台,選擇 App工作台 > App SDK > 獲取SDK > **按要求填寫參數 **> 獲取schema(渠道標識)。
  2. 基於 OpenAPI 進行業務開發。
  3. 測試無誤后,開發者自行發布。

二、授權流程
每個業務 OpenAPI 都需要進行 token 校驗。

說明:塗鴉 OpenAPI 遵循 OAuth 2.0 協議標准。

三、簡單模式
針對雲雲對接場景,塗鴉提供了隱式授權的方式獲取:

按照塗鴉雲 OpenAPI 接口規范對開發者 client_id 和 secret 進行簽名認證。
塗鴉雲校驗並頒發令牌給第三方雲。
說明:隱式授權方式獲取的 token,權限維度為開發者維度,token 的操作權限范圍為該開發者有權限操作的范圍,例如操作(增、刪、改、查)開發者的應用用戶數據,產品下的設備數據和應用下用戶綁定的設備數據。

四、接口規范

環境說明

各接口使用方請根據自身所在區域調用相應接口。

中國區 https://openapi.tuyacn.com

美洲區 https://openapi.tuyaus.com

歐洲區 https://openapi.tuyaeu.com

印度區 https://openapi.tuyain.com

請求方式

支持的請求方式如下:
GET
PUT
POST
DELETE
說明:當請求方式為POST時,Content-Type 需使用application/json。

請求頭設置

任意接口都需要在 header 中加入如下參數:

說明:業務接口(非 token 接口)請求時需要參數access_token。

五、簽名規范

塗鴉雲采用 HMAC-SHA256 創建摘要,根據不同應用場景,當前提供兩套簽名算法:

令牌管理接口(獲取令牌、刷新令牌)
sign = HMAC-SHA256(client_id + t, secret).toUpperCase()

使用申請到的 client_id 與當前請求的 13 位標准時間戳拼接成待簽名的字符串,采用申請到的雲應用 secret 作為密鑰參與哈希摘要,得到的字符串,最后轉大寫;

業務接口
sign = HMAC-SHA256(client_id + access_token + t, secret).toUpperCase()

使用申請到的雲應用 client_id + 當前有效的請求令牌 + 當前請求的 13 位標准時間戳拼接成待簽名的字符串,采用申請到的雲應用 secret 作為密鑰參與哈希摘要,得到的字符串,最后轉大寫。

簽名示例

准備參數:
client_id:1KAD46OrT9HafiKdsXeg

secret:4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC

t:1588925778000

access_token:3f4eda2bdec17232f67c0b188af3eec1

令牌管理接口簽名:
待簽名字符串:1KAD46OrT9HafiKdsXeg1588925778000

簽名結果:HMAC-SHA256(1KAD46OrT9HafiKdsXeg1588925778000,4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC)

ceaafb5ccdc2f723a9fd3e91d3d2238ee0dd9a6d7c3c365deb50fc2af277aa83

轉大寫為:CEAAFB5CCDC2F723A9FD3E91D3D2238EE0DD9A6D7C3C365DEB50FC2AF277AA83

業務接口:
待簽名字符串:1KAD46OrT9HafiKdsXeg3f4eda2bdec17232f67c0b188af3eec11588925778000

簽名結果:HMAC-SHA256(1KAD46OrT9HafiKdsXeg3f4eda2bdec17232f67c0b188af3eec11588925778000,4OHBOnWOqaEC1mWXOpVL3yV50s0qGSRC)

36c30e300f226b68add014dd1ef56a81edb7b7a817840485769b9d6c96d0faa1

轉大寫為:36C30E300F226B68ADD014DD1EF56A81EDB7B7A817840485769B9D6C96D0FAA1

各類語言 HMAC SHA256 的實現:
Javascript HMAC SHA256

PHP HMAC SHA256

Java HMAC SHA256

C# HMAC SHA256

返回結果 統一返回 JSON,一般格式如下:

請求成功

請求異常

六、集成 SDK Java 概述

目前提供的基於Java 的 Tuya Cloud SDK 封裝了 token 相關、用戶相關以及設備相關的接口,以便加速雲雲對接的開發。

開發者只需要關注所使用的業務功能方法的調用,構建對應的 TuyaClient 實例,實例會自動更新 token 以及完成對應 API 的調用。SDK 主要包括了以下功能, 詳細接口信息請參考后文對應模塊:

token 相關(無需用戶調用)

用戶相關(獲取用戶列表、注冊用戶、獲取用戶下的設備列表)

設備相關(獲取設備配網 token、獲取配網 token 下所有設備列表等接口)

集成 SDK

IDEA 導入 jar 包: https://jingyan.baidu.com/article/0f5fb0993e9e1f6d8334ead2.html

Eclipse 導入 jar 包: https://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html

GitHub 地址

https://github.com/TuyaInc/tuya_cloud_sdk_java

通用模塊

由於部分新增接口無法及時同步集成至 SDK,開發者可通過 SDK 通用接口進行水平擴展滿足開發。

獲取 Header 列表:

萬能塗鴉接口:

調用示例

以下為注冊用戶的示例:​


Golang
Golang SDK 源碼地址,請參見Golang SDK


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM