作者:阿里云MVP洵云
上节回顾:手把手学IOT服务端API编程之二修改产品|MVP讲堂
上两节介绍了创建产品和修改产品,这次我们来介绍一下查询设备列表,这个接口的作用是通过给定的产品KEY值,查询指定产品下的设备信息,比如设备的ID,名称,密钥等信息;便于产品和设备的管理和维护。
1、脚本实现:
对于输入参数只需要产品的key值,所以在框架文件只需要添加一个输入的文本框供用户输入,就可以了;
产品KEY: <input type="text" name="pkey3">
<hr><input type="submit" value="提交">
而在实际的实现代码中,我们只需要使用get函数提取这个变量就可以了:
$pkey = $_GET["pkey3"];
接着引用查询设备列表的接口:
$request = new Iot\QueryDeviceRequest();
通过查看QueryDeviceRequest.php文件,可以知道只需要调用setProductKey函数配置产品的key值即可,查询页的大小和尺寸可以使用默认的信息;
调用通用的网络查询操作后,最后对返回信息进行分析;首先显示常用的requestid,total和success:
echo 'RequestId :'.$response->RequestId.'<br>';
echo 'Total :'.$response->Total.'<br>';
echo 'Success :'.$response->Success.'<br>';
然后根据$response->Total,得到查询得到的设备总数,调用一个循环分别显示每个设备的详细信息:
echo '设备Id :'.$response->Data->DeviceInfo[$x]->DeviceId.'<br>';
echo '设备名称 :'.$response->Data->DeviceInfo[$x]->DeviceName.'<br>';
echo '产品Key :'.$response->Data->DeviceInfo[$x]->ProductKey.'<br>';
echo '设备Secret :'.$response->Data->DeviceInfo[$x]->DeviceSecret.'<br>';
echo '创建时间 :'.$response->Data->DeviceInfo[$x]->GmtCreate.'<br>';
echo '设备状态 :'.$response->Data->DeviceInfo[$x]->DeviceStatus.'<hr>';
2、实际测试:
打开浏览器,转到我们框架脚本页面,输入相关信息然后提交,开始由于产品下面没有设备列表,所以查询的结果为空;登陆到iot的控制台,对应产品的页面
下面创建三个设备,然后再在框架页面输入我们产品的key值,提交查询后,这是就会返回我们创建的三个设备信息;
具体向关截图如下: