接口鉴权

更新时间:

1.1 接口调用及鉴权

阿里云API接口会为每一个项目颁发一套鉴权密钥,密钥包含appkey、appsecrt,您可以通过这套密钥创建多个小区进行管理,请下载SDK进行接口调用https://github.com/aliyun/iotx-api-gateway-client

1.1.1 获取小区授权token

path

请求方法

版本

描述

/solution/community/paas/token/get

POST

1.0.0

获取云端资源Token;该接口对于同一个res(小区id,参见请求参数说明)在token失效前仅需要调用一次,如果再次调用,则会生成新的cloudToken,并会导致之前的cloudToken失效

请求参数

参数

类型

必填

描述

communityId

Long

小区ID

返回参数

参数

类型

描述

cloudToken

String

云端Token

expiresIn

long

Token有效期(单位:ms)

1.1.2 刷新小区授权token

path

版本

描述

/solution/community/paas/token/refresh

1.0.0

刷新云端Token

请求参数

参数

类型

必填

描述

cloudToken

String

-

返回参数

参数

类型

描述

cloudToken

String

云端Token

expiresIn

long

Token有效期(单位:ms)

获取token后,即以项目身份访问项目资源,账号,设备,空间,隔离ID均一致。

使用方式:

IoTApiRequest request = new IoTApiRequest();

//设置API的版本

request.setApiVer("1.0.0");

request.setCloudToken("XXXXXXX");

重要

下文未做特殊说明情况下,接口访问均加上cloudToken。

1.2 数据订阅及鉴权

请查看在线文档:https://help.aliyun.com/document_detail/114862.html?#h1-5-5

数据订阅示例

当正确按照在线文档配置好订阅逻辑后,当有记录变更(新增或者变更时),会受到消息通知payload中带有数据变更的id:

// 模型ID

String modelId;

// 变更数据的ID

List<Long> dataIds;

// 操作类型:insert/update/delete

String operateType;

// 订阅的appId, 以appKey授权时为空

String appId;

使用上文在线文档中的数据查询接口,使用该ID可以查到变更的数据行,除了模型定义的业务字段外,同时返回授权隔离维度,scope_id字段,例如:

SIP

该scope_id与项目ID一一对应,使用1.10.2查询小区列表接口,使用该ID作为入参可以对应到具体的小区信息。注意,推送时会有多个隔离ID的推送,过滤使用小区项目ID的数据。