接口鑒權(quán)
1.1 接口調(diào)用及鑒權(quán)
阿里云API接口會(huì)為每一個(gè)項(xiàng)目頒發(fā)一套鑒權(quán)密鑰,密鑰包含appkey、appsecrt,您可以通過(guò)這套密鑰創(chuàng)建多個(gè)小區(qū)進(jìn)行管理,請(qǐng)下載SDK進(jìn)行接口調(diào)用https://github.com/aliyun/iotx-api-gateway-client。
1.1.1 獲取小區(qū)授權(quán)token
path | 請(qǐng)求方法 | 版本 | 描述 |
/solution/community/paas/token/get | POST | 1.0.0 | 獲取云端資源Token;該接口對(duì)于同一個(gè)res(小區(qū)id,參見(jiàn)請(qǐng)求參數(shù)說(shuō)明)在token失效前僅需要調(diào)用一次,如果再次調(diào)用,則會(huì)生成新的cloudToken,并會(huì)導(dǎo)致之前的cloudToken失效 |
請(qǐng)求參數(shù)
參數(shù) | 類(lèi)型 | 必填 | 描述 |
communityId | Long | 是 | 小區(qū)ID |
返回參數(shù)
參數(shù) | 類(lèi)型 | 描述 |
cloudToken | String | 云端Token |
expiresIn | long | Token有效期(單位:ms) |
1.1.2 刷新小區(qū)授權(quán)token
path | 版本 | 描述 |
/solution/community/paas/token/refresh | 1.0.0 | 刷新云端Token |
請(qǐng)求參數(shù)
參數(shù) | 類(lèi)型 | 必填 | 描述 |
cloudToken | String | 是 | - |
返回參數(shù)
參數(shù) | 類(lèi)型 | 描述 |
cloudToken | String | 云端Token |
expiresIn | long | Token有效期(單位:ms) |
獲取token后,即以項(xiàng)目身份訪(fǎng)問(wèn)項(xiàng)目資源,賬號(hào),設(shè)備,空間,隔離ID均一致。
使用方式:
IoTApiRequest request = new IoTApiRequest();
//設(shè)置API的版本
request.setApiVer("1.0.0");
request.setCloudToken("XXXXXXX");
下文未做特殊說(shuō)明情況下,接口訪(fǎng)問(wèn)均加上cloudToken。
1.2 數(shù)據(jù)訂閱及鑒權(quán)
請(qǐng)查看在線(xiàn)文檔:http://bestwisewords.com/document_detail/114862.html?#h1-5-5。
數(shù)據(jù)訂閱示例
當(dāng)正確按照在線(xiàn)文檔配置好訂閱邏輯后,當(dāng)有記錄變更(新增或者變更時(shí)),會(huì)受到消息通知payload中帶有數(shù)據(jù)變更的id:
// 模型ID
String modelId;
// 變更數(shù)據(jù)的ID
List<Long> dataIds;
// 操作類(lèi)型:insert/update/delete
String operateType;
// 訂閱的appId, 以appKey授權(quán)時(shí)為空
String appId;
使用上文在線(xiàn)文檔中的數(shù)據(jù)查詢(xún)接口,使用該ID可以查到變更的數(shù)據(jù)行,除了模型定義的業(yè)務(wù)字段外,同時(shí)返回授權(quán)隔離維度,scope_id字段,例如:
該scope_id與項(xiàng)目ID一一對(duì)應(yīng),使用1.10.2查詢(xún)小區(qū)列表接口,使用該ID作為入?yún)⒖梢詫?duì)應(yīng)到具體的小區(qū)信息。注意,推送時(shí)會(huì)有多個(gè)隔離ID的推送,過(guò)濾使用小區(qū)項(xiàng)目ID的數(shù)據(jù)。