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.1content-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 | 设备数量超出限制。 |