涂鸦arduino中文社区活动
查看: 2703|回复: 0

氦氪云入门教程08-使用Postman调试云端API

[复制链接]

该用户从未签到

发表于 2017-8-14 11:15 | 显示全部楼层 |阅读模式
我们文档中给出的示例使用的是curl,对命令行程序比较陌生的开发者用起来会比较别扭,本次教程我们来学习一下如何使用Postman来调试我们的云端接口。

Postman下载地址:https://www.getpostman.com/postman

我们打算调用接口4.1.15 返回设备上报帧,下发帧记录获得带小夜灯的温湿度计这个设备从2017年7月10日 00:00:00开始到现在时间的所有上报帧记录。

第一步:获得用户token
调用云端API时,需要一个合法的用户token,我们先调用接口3.5 使用账号登录来获得用户token。
181035ff6xf2y4mm3aif4x.png
HTTP方法: POST
URL: https://uaa-openapi.hekr.me/login
HTTP Headers:
     Accept: application/json
     Content-Type: application/json
142708os6tsysys1vtetys.png
Body类型: raw JSON(application/json)
Body内容:
    {
            "pid" : "你使用的APP的pid",
            "username" : "你的账号",
            "password" : "你的密码",
            "clientType" : "WEB"
    }   
使用丛云APP的用户,pid填11个0,如果是定制APP的用户,请填定制APP使用的pid。
142759a2iwghtegloaznow.png
点击Send按钮之后,获得接口应答的数据,其中access_token就是我们需要的用户token。
151417a4i8pooas8oyosmo.png

第二步:获得设备的devTid和ctrlKey
调用接口4.1.2 列举设备列表获得本账号下的设备列表。
154606hm1m1zr1alamhlrx.png
HTTP方法: GET
URL: https://user-openapi.hekr.me/device
HTTP Headers:
     Authorization: Bearer 你的用户token
     Accept: application/json
154816frudqvzz98v2u399.png
点击Send按钮之后,获得接口应答的数据,从中查找带小夜灯的温湿度计这个设备的devTid和ctrlKey
155909jfgqllyigyf5yslj.png

第三步:获得带小夜灯的温湿度计这个设备从2017年7月10日 00:00:00开始到现在时间的所有上报帧记录
调用接口4.1.15 返回设备上报帧,下发帧记录获得我们需要的数据。
160631pfwdgvcz756ew055.png
HTTP方法: GET
URL: https://user-openapi.hekr.me/devSendAndRecv?devTid=你设备的devTid&ctrlKey=你设备的ctrlKey&type=devSend&startTime=2017-07-10T00%3A00%3A00.000%2B0800
其中,type的取值为devSend或appSend,devSend代表上报帧,appSend代表下发帧。
startTime直接填2017-07-10T00:00:00.000+0800是不行的,需要转换为URL编码格式,本帖最后的备注1会示例如何转换为URL编码格式startTime中的+0800是指时区为东八区。
HTTP Headers:
     Authorization: Bearer 你的用户token
     Accept: application/json
160828do2d0x0hlccd3dfq.png
点击Send按钮之后,获得接口应答的数据,其中content数组中存放的就是上报帧记录。
163242xb16n6ouyff1sf3q.png

备注1:将2017-07-10T00:00:00.000+0800转换为URL编码格式
打开chrome浏览器,按F12键进入浏览器的调试模式,在console中输入encodeURIComponent("2017-07-10T00:00:00.000+0800"),返回的"2017-07-10T00%3A00%3A00.000%2B0800"就是URL编码格式。
164311w6b4zy898c9b8zlx.png

备注2:使用Postman的代码生成功能
我们使用Postman调试完接口之后,可以选择生成多种语言中的调用代码,我经常使用jQuery,所以我们来生成jQuery AJAX的调用代码。
调用接口3.5 使用账号登录成功之后,点击Generate Code。
170929sop36ocsz1pjjsqv.png
选择JavaScript->Jquery AJAX。
170950aj7w0gxsugejy71c.png
点击Copy to Clipboard拷贝生成的代码到剪切板,然后粘贴到你需要的地方,其中我用红色细线划掉的代码可以删掉。
170957e2nxaxo1n1l8n78n.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热门推荐

字符串是否对比该使用哪个函数?
字符串是否对比该使用哪个
现有问题是, 串口接收到的数据是正常的,(通过print函数打印串口收
VSCode+PIO开发环境中添加Blinker.h的问题
VSCode+PIO开发环境中添加
我在main.c中添加就没问题,但是添加在.h文件中就会出现编译错误,在其他.c文件添加此
【干货分享】mega2560原理图PCB图纸altium designer18
【干货分享】mega2560原理
分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
这样写不对吗,为啥老是报错
这样写不对吗,为啥老是报
Python上位机控制WS2812B
Python上位机控制WS2812B
说在前面: 设计师对颜色有着天生的敏锐性,而工程师眼中这些都会幻化成数值。。
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表