根据onenet官方更新的文档:平台提供开放的API接口,用户可以通过HTTP/HTTPS调用,进行设备管理,数据查询,设备命令交互等操作,在API的基础上,根据自己的个性化需求搭建上层应用。
为提高API访问安全性,OneNET API的鉴权参数作为header的authorization参数存在。
安全鉴权有什么用?
新版改版之后。就是说如果你要用手机app或者是微信小程序读取ONENET平台的设备数据信息,要调用到官方给出的API,而这些GET/POST的http报文请求,需要把OneNET API的鉴权参数作为header的authorization参数存在,不然就没法用了!!!!
PS:不得不吐槽一下,onenet新版更新之后,旧版文档与新版文档交错在一起,查看的时候容易让人混乱,而新版的安全鉴权的算法又改了,我用旧版的安全鉴权算法,修改一下,折腾得我一个晚上无果,后来在凌晨的时候,实在没办法了,就往官方技术支持投了一个工单,没想到凌晨两点依然有移动前台客服小姐姐打电话过来解答😂,不得不说就移动onenet平台的服务态度还是蛮好的,在这里赞一个,经过客服小姐姐的一番解答后,疑惑尽去,今早一起床马上打开电脑一弄果然就可以了,为了避免使用ONENET API的开发小伙伴少走弯路,写下这篇文章,希望能帮助到大家。
一、新版ONENET平台的安全鉴权算法
请查看官方给出的文档说明:
这里与旧版算法对比一下旧版安全鉴权算法
新版主要有两处地方改动:
1、res(资源)改成了userid/你的用户编号。
2、version(版本)换成了2022-05-01
于是我这里有三种解决的办法产生新版的安全鉴权
二、ONENET新版的安全鉴权产生方法
1、利用旧版文档中官方给出的安全鉴权算法(有java和python),小改一下就可以用了
小弟修改了一下,得到新版的安全鉴权算法,是python程序
这里执行一下python程序,即可生成
2、根据token工具直接生成
这是ONENET客服小姐姐提供的,要填的信息如下图所示:
3、用ONENET官方的API调试信息得到
官方提供了在线API调试的功能,嘻嘻这就给了新思路了,不但给你算出安全鉴权,还给你怎么使用API调用提供明确思路,进而就对怎么写手机APP、微信小程序就很清楚了,但有个弊端就是截止时间的时间戳设定(et设定是当前时间+3600s)的是一个小时,就是得到的安全鉴权就只能用一个小时,所以说一个小时之后需要重新生成,想久点截止的时间话用上述两种方法,把et设定X年之后。。。。。。。。。。
好了,以上就是小弟总结出来的onenet新版安全鉴权生成的方法,希望可以帮助到大家,接下来看看写出整个项目的流程思路,有了这个安全鉴权已经成功整出微信小程序读写到ONENET平台设备数据信息了,最近对物联网应用很感兴趣,接下来会陆续写出自己在做项目过程中的所思与所得,请多多支持关注~~~