有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

1. 接口描述

接口请求域名: 接口请求域名替换 本接口(AppSigGatewayBindDevice)绑定子设备到网关设备

2. 输入参数

名称
类型
必选
描述
AccessToken
String
公共参数,AccessToken 用于对一个已经登录的用户鉴权。
RequestId
String
公共参数,唯一请求ID,可自行生成,推荐使用 uuId。定位问题时,需提供该次请求的 RequestId。
Action
String
公共参数,本接口取值:AppSigGatewayBindDevice。
ProductId,
String
产品 ID。
DeviceName
String
设备名称。
GatewayProductId
String
网关产品 ID。
GatewayDeviceName
String
网关设备 Name。
DeviceTimestamp
Int64
设备时间戳,Unix 秒级时间戳。
Nonce
String
随机字符串,建议 5 个字节长度。
Signature
String
动态签名。

3. 输出参数

名称
类型
描述
RequestId
String
公共参数,唯一请求ID,可自行生成,推荐使用 uuId。定位问题时,需提供该次请求的 RequestId。

4. 示例

签名生成步骤:
1. 对参数(deviceName、nonce、productId、timestamp)按字典序升序排序。
2. 将以上参数,按参数名称 = 参数值 & 参数名称 = 参数值拼接成字符串。
3. 使用 HMAC-sha1 算法对上一步中获得的字符串进行计算,密钥为 ProductSecret。
4. 将生成的结果使用 Base64 进行编码,即可获得最终的签名串放入 signature。

示例1

输入示例
POST https://iot.cloud.tencent.com/api/exploreropen/tokenapi HTTP/1.1
content-type: application/json
{
"RequestId": "zzY1pZb3sz1N",
"Action": "AppSigGatewayBindDevice",
"AccessToken":"8b4a70dd16105f******************18edd4e78a3bb8ec",
"GatewayProductId": "NJ27OVLZT4",
"GatewayDeviceName":"gwdev",
"ProductId": "LAEG4YJE1A",
"DeviceName": "subdev3",
"DeviceTimestamp": 1583810805,
"Nonce": "123456",
"Signature": "YZGf0E***WGUEJGn+SxUf23HYA="
}
输出示例: 成功
{
"Response": {
"RequestId": "zzY1pZb3sz1N"
}
}

5. 错误码

错误码
描述
InternalError
内部错误。
InternalError.InternalServerException
发生错误。
InvalidParameterValue
参数取值错误。
InvalidParameterValue.BindDeviceNotConnected
设备近期没有连接到云。
InvalidParameterValue.InvalidAccessToken
Token 无效。
InvalidParameterValue.InvalidAppParameter
App 请求的参数错误。
InvalidParameterValue.BindDeviceSigMismatch
绑定设备动态签名错误。
UnsupportedOperation
不支持的操作。
UnsupportedOperation.NotBindVirtualDevice
无法绑定虚拟设备。
UnsupportedOperation.DeviceType
设备类型错误。
ResourceNotFound
资源不存在。
ResourceNotFound.StudioProductNotExist
产品尚未创建或已被删除。
ResourceNotFound.DeviceNotExist
设备未创建或是已删除。
ResourceNotFound.AppNotExists
应用未创建或是已删除。
UnauthorizedOperation
无权操作。
UnauthorizedOperation.APPNoPermissionToStudioProduct
App 对操作该产品无权限。
UnauthorizedOperation.NoPermissionToFamily
操作该家庭无权限。
LimitExceeded
超出限制。
LimitExceeded.FamilyDeviceExceedLimit
设备数量超出限制。