MakerBingo 发表于 2017-7-27 10:31:07

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

本帖最后由 MakerBingo 于 2017-8-8 15:56 编辑

我们文档中给出的示例使用的是curl,对命令行程序比较陌生的开发者用起来会比较别扭,本次教程我们来学习一下如何使用Postman来调试我们的云端接口。

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

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

第一步:获得用户token
调用云端API时,需要一个合法的用户token,我们先调用接口3.5 使用账号登录来获得用户token。

HTTP方法: POST
URL: https://uaa-openapi.hekr.me/login
HTTP Headers:
   Accept: application/json
   Content-Type: application/json

Body类型: raw JSON(application/json)
Body内容:
    {
            "pid" : "你使用的APP的pid",
            "username" : "你的账号",
            "password" : "你的密码",
            "clientType" : "WEB"
    }   
使用丛云APP的用户,pid填11个0,如果是定制APP的用户,请填定制APP使用的pid。

点击Send按钮之后,获得接口应答的数据,其中access_token就是我们需要的用户token。


第二步:获得设备的devTid和ctrlKey
调用接口4.1.2 列举设备列表获得本账号下的设备列表。

HTTP方法: GET
URL: https://user-openapi.hekr.me/device
HTTP Headers:
   Authorization: Bearer 你的用户token
   Accept: application/json

点击Send按钮之后,获得接口应答的数据,从中查找带小夜灯的温湿度计这个设备的devTid和ctrlKey。


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

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

点击Send按钮之后,获得接口应答的数据,其中content数组中存放的就是上报帧记录。


备注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编码格式。


备注2:使用Postman的代码生成功能
我们使用Postman调试完接口之后,可以选择生成多种语言中的调用代码,我经常使用jQuery,所以我们来生成jQuery AJAX的调用代码。
调用接口3.5 使用账号登录成功之后,点击Generate Code。

选择JavaScript->Jquery AJAX。

点击Copy to Clipboard拷贝生成的代码到剪切板,然后粘贴到你需要的地方,其中我用红色细线划掉的代码可以删掉。

页: [1]
查看完整版本: 氦氪云入门教程08-使用Postman调试云端API