简介: 本文介绍如何调用物联网平台的云端API,很多时候控制台上操作不太方便,需要通过API调用来完成或者通过调用API封装接口,以做到二次开发等。如产品管理,设备管理,规则创建等。分别介绍通过common SDK和iot SDK的使用。


1、 云端API介绍以及调试方法

https://help.aliyun.com/document_detail/69893.html?spm=a2c4g.11186623.6.749.1def3112gGOTHP
cfc84e6ecff047f8bb123633c5c91d98?from=pc.jpg
使用云端API之前务必先使用OpenAPI Explorer在线调试工具先调试通过。
https://api.aliyun.com/?spm=
a2c4g.11186623.2.12.240a3d29r9yc1o#/?product=Iot&version=2018-01-20&api=CreateProduct&tab=DEMO&lang=JAVA
其实我们的代码也就是从旁边的示例代码中搬运过来的。

2、使用common SDK调用云端API
e247376d16a84d7b8616b40e5e8493ba?from=pc.jpg
前边已经说过,使用OpenAPI Explorer在线调试工具调试好之后,然后将示例代码放到自己的工程中
以创建产品为例:

7038889118334471aac01f0e30728a9e?from=pc.jpg
调试通过,然后就可以放心把代码搬出来了

245e942d6ee143169900f59dcda108d2?from=pc.jpg

可以看到控制台上已经有新产品了。

729676f926294709bc83c57c1829554f?from=pc.jpg
编写代码

8e4e7697b7054593a35ba7122980543b?from=pc.jpg
170497f2c9de42ef99a112440fd445cb?from=pc.jpg
测试结果:

d894cf36f0284b128cc435eb7e659580?from=pc.jpg

控制台上也新建了产品

a4ca8c1fd68d403bb2567dedd621f716?from=pc.jpg

源码:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
  • <project xmlns="http://maven.apache.org/POM/4.0.0"
  •          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  •          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  •     <modelVersion>4.0.0</modelVersion>
  •     <groupId>org.example</groupId>
  •     <artifactId>CallAPI</artifactId>
  •     <version>1.0-SNAPSHOT</version>
  •     <dependencies>
  •         <dependency>
  •             <groupId>com.aliyun</groupId>
  •             <artifactId>aliyun-java-sdk-core</artifactId>
  •             <version>4.5.3</version>
  •         </dependency>
  •     </dependencies>
  • </project>
  • 复制代码
    CallAPI.Java
    package com.alibaba;
  • import com.aliyuncs.CommonRequest;
  • import com.aliyuncs.CommonResponse;
  • import com.aliyuncs.DefaultAcsClient;
  • import com.aliyuncs.IAcsClient;
  • import com.aliyuncs.exceptions.ClientException;
  • import com.aliyuncs.exceptions.ServerException;
  • import com.aliyuncs.http.MethodType;
  • import com.aliyuncs.profile.DefaultProfile;
  • /*
  • pom.xml
  • <dependency>
  •   <groupId>com.aliyun</groupId>
  •   <artifactId>aliyun-java-sdk-core</artifactId>
  •   <version>4.5.3</version>
  • </dependency>
  • */
  • public class CallAPI {
  •     public static void main(String[] args) {
  •         DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "LTAI4*******vJdtXvT3G", "Mp2f4q*****9ud7rOPGl");
  •         IAcsClient client = new DefaultAcsClient(profile);
  •         CommonRequest request = new CommonRequest();
  •         request.setSysMethod(MethodType.POST);
  •         request.setSysDomain("iot.cn-shanghai.aliyuncs.com");
  •         request.setSysVersion("2018-01-20");
  •         request.setSysAction("CreateProduct");
  •         request.putQueryParameter("RegionId", "cn-shanghai");
  •         request.putQueryParameter("NodeType", "0");
  •         request.putQueryParameter("ProductName", "ProductAPITestDemo6");
  •         request.putQueryParameter("DataFormat", "1");
  •         request.putQueryParameter("Description", "测试云端API用");
  •         request.putQueryParameter("AliyunCommodityCode", "iothub_senior");
  •         request.putQueryParameter("AuthType", "secret");
  •         try {
  •             CommonResponse response = client.getCommonResponse(request);
  •             System.out.println(response.getData());
  •         } catch (ServerException e) {
  •             e.printStackTrace();
  •         } catch (ClientException e) {
  •             e.printStackTrace();
  •         }
  •     }
  • }
  • 复制代码
    3、使用iot SDK调用云端API

    e66356e8d6a546968e433793ab8f2d98?from=pc.jpg
    到官网下载Demo

    d9b535e2583748318e46916e8355d1d9?from=pc.jpg

    点击链接后,进入Github(没有账户就注册一个)

    e235e24328ca4a409d4c7978f9e4132e?from=pc.jpg
    导入到工程中

    3bf6f612b2a24b9a92b8873936bd762c?from=pc.jpg

    同样以创建产品为例,和common SDK一样要找到我们需要修改的参数AK SK等
    387447ccf9db493681191cb6be485d89?from=pc.jpg

    发现调用到了ProductManager

    4235a40f16014fb5918d74b91175e0e0?from=pc.jpg
    6a661384b6ed4d14a7fd49d18659a641?from=pc.jpg

    继续追踪

    3fdeb1c5cdd7416a99fa008fb2a24b47?from=pc.jpg
    b9bd9022e0e74d228f59e7271369cb32?from=pc.jpg
    823c8192a3784220bfd9681192449da7?from=pc.jpg
    测试结果:

    b17ac26a1e9c4aefb8bf9d75ef4fd83b?from=pc.jpg
    控制台上创建新产品成功

    3f988198ec2941f9a5c40d5f5d5a2129?from=pc.jpg
    源码直接去官网下载。
    原文:
    https://developer.aliyun.com/article/779727?spm=5176.8068049.0.0.55746d19QQJ9oF&groupCode=iot