【涂鸦物联⽹⾜迹】涂鸦云平台接⼝说明前序系列⽂章>>>
我们系列⽂章,都会围绕如何完成⼀款智能“隔空接吻机”的开发。希望能帮到各异地恋__or__异国恋的情侣们!
签名字符串是什么本⽂我们会⼤概讲解基于 OpenAPI 进⾏开发时所涉及到的 API 调⽤⽅法、规范、⽰例以及集成 SDK 相关内容。内容会⽐较硬核,请各单位注意!
⼀、开发流程
注册。
云开发创建云应⽤项⽬,获取client_id & secret。
说明:开发者平台 key 的名称为accessId & accessKey。
1. 创建 SDK:在,选择 App⼯作台 > App SDK > 获取SDK > **按要求填写参数 **> 获取schema(渠道标识)。
2. 基于 OpenAPI 进⾏业务开发。
3. 测试⽆误后,开发者⾃⾏发布。
⼆、授权流程
每个业务 OpenAPI 都需要进⾏ token 校验。
说明:涂鸦 OpenAPI 遵循 OAuth 2.0 协议标准。
三、简单模式
针对云云对接场景,涂鸦提供了隐式授权的⽅式获取:
按照涂鸦云 OpenAPI 接⼝规范对开发者 client_id 和 secret 进⾏签名认证。
涂鸦云校验并颁发令牌给第三⽅云。
说明:隐式授权⽅式获取的 token,权限维度为开发者维度,token 的操作权限范围为该开发者有权限操作的范围,例如操作(增、删、改、查)开发者的应⽤⽤户数据,产品下的设备数据和应⽤下⽤户绑定的设备数据。
四、接⼝规范
环境说明
各接⼝使⽤⽅请根据⾃⾝所在区域调⽤相应接⼝。
中国区
美洲区
欧洲区
印度区
请求⽅式
⽀持的请求⽅式如下:
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 包:
Eclipse 导⼊ jar 包:
GitHub 地址
通⽤模块
由于部分新增接⼝⽆法及时同步集成⾄ SDK,开发者可通过 SDK 通⽤接⼝进⾏⽔平扩展满⾜开发。
获取 Header 列表:
万能涂鸦接⼝:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论