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字段,例如:
该scope_id与项目Id一一对应,使用1.10.2查询小区列表接口,使用该Id作为入参可以对应到具体的小区信息。注意,推送时会有过个隔离Id的推送,过滤使用小区项目Id
的数据。