OneNet5.0 新版产品应用开发API调用指南(一) 体验, token计算, API调用测试

API文档: https://open.iot.10086.cn/doc/iot_platform/book/api/introduce.html

一. 新版API调用格式:

 https(http)://openapi.heclouds.com/{namespace}?action=xxxx&version=1

其中:

新版API分为设备管理类和应用开发类两大块, 文档如下:
设备管理类https://open.iot.10086.cn/doc/iot_platform/book/api/common/createDevice.html
应用开发类
https://open.iot.10086.cn/doc/iot_platform/book/api/application/queryStatistics.html

二. 新版token计算

新版token计算 参考文档:https://open.iot.10086.cn/doc/iot_platform/book/api/auth.html

下面的是python版本的计算方法, 修改里面的信息,运行一下就能得到新版token

import base64
import hmac
import time
from urllib.parse import quote

def token(userId,access_key):

    version = '2020-05-29'

    res = 'userid/%s' % userId

    # 用户自定义token过期时间
    et = str(int(time.time()) + 3600)

    # 签名方法,支持md5、sha1、sha256
    method = 'sha1'

    # 对access_key进行decode
    key = base64.b64decode(access_key)

    # 计算sign
    org = et + '\n' + method + '\n' + res + '\n' + version
    sign_b = hmac.new(key=key, msg=org.encode(), digestmod=method)
    sign = base64.b64encode(sign_b.digest()).decode()

    # value 部分进行url编码,method/res/version值较为简单无需编码
    sign = quote(sign, safe='')
    res = quote(res, safe='')

    # token参数拼接
    token = 'version=%s&res=%s&et=%s&method=%s&sign=%s' % (version, res, et, method, sign)

    return token


if __name__ == '__main__':
    userId = '163120' #这里改成您自己的id
    access_key = '0sWvXoPixxdrSDcKDeEHbgvNGPRV5luHWx3HjA1no84ZAYyG9GvlWJmUMaLm5nlExdVZq3ANuII3GM04/PZxxQ=='
    #这里改成您自己的access key

    print(token(userId,access_key))
    while(1):
        pass

具体操作是: 新建一个sign.py文件, 把上面的代码粘进去, 把用户id和accesskey替换成你自己的, 然后保存关闭, 再双击运行.

关于用户id和access key 用以下方法找到

此外, et = str(int(time.time()) + 3600)说明我们的token只在1小时内有效, 调试过程中注意更新token, 或者把有效时间设长一点.

三. 打开postman尝试调用一个API(以查询设备详情为例)

现在打开postman, 我们可以开始调试API了

查询设备详情API:https://open.iot.10086.cn/doc/iot_platform/book/api/common/queryDeviceDetail.html

首先, 这是一个GET请求, 所以,我们应该设置好基地址和get方法

然后,我们应该写入之前算好的token进行设备鉴权

然后, 根据API请求方法设置get的参数.

根据新版API调用格式, action 和 version是必须的
本例中 action是QueryDeviceDetail

然后, 我们就收到了服务器的回复了!!

至此, 第一个API调用完成.

接下来, 我们将熟悉所有设备和应用API

你可能感兴趣的:(OneNet5.0 新版产品应用开发API调用指南(一) 体验, token计算, API调用测试)