更新时间:2024-07-29 GMT+08:00

使用Postman调测

概述

Postman是网页调试与辅助接口调用的工具,具有界面简洁清晰、操作方便快捷的特性,可以处理用户发送的HTTP请求,例如:GET,PUT、POST,DELETE等,支持用户修改HTTP请求中的参数并返回响应数据。

为充分了解接口,建议提前获取应用侧API参考查阅。我们已经写好了Postman的collection,在Collection中接口的请求结构体已经完成可以直接使用。

本文档以Postman为例,模拟应用服务器以HTTPS协议接入物联网平台,调测以下API接口:

前置条件

安装并配置Postman

  1. 安装Postman。

    1. 访问Postman官网,下载并安装Windows 64位Postman最新版本。
      • 安装Postman依赖.NET Framework 4.5组件。
      • 如需下载Windows 32位Postman最新版本,访问此处下载。
    2. 填写邮箱、用户名和密码注册Postman。

  2. 导入Postman环境变量。

    1. 单击右上角的图标,打开“MANAGE ENVIRONMENTS”窗口。

    2. 单击“Import”,在弹出的页面中,单击“选择文件”,导入IoTDA.postman_environment.json文件(下载Collection解压后获取)。

    3. 单击导入的“IoTDA”环境。

    4. 参考下表修改以下参数。

      参数名

      参数说明

      IAMEndpoint

      IAM终端节点,参考IAM地区和终端节点获取。

      IoTDAEndpoint

      物联网平台终端节点,参考2.e

      IAMUserName

      IAM用户名,参考我的凭证获取。

      IAMPassword

      登录华为云的密码。

      IAMDoaminId

      账号名,参考我的凭证获取。

      region

      开通设备接入服务的区域。

    5. IoTDAEndpoint参考。
      进入控制台,选择左侧导航栏总览,单击实例基本信息-接入信息,根据相应的接入类型和协议选择对应的接入地址。
      图1 总览-获取接入信息
    6. 返回主页,选择环境变量为刚导入的“IoTDA”。

  3. 单击左上角的“Import”,单击“Choose Files”导入“应用侧API调用(V5版本).postman_collection.json”。

    导入成功后,显示如下。

调测“获取IAM用户Token”接口

在访问物联网平台业务接口前,应用服务器需要调用“获取IAM用户Token”接口鉴权,华为云认证通过后向应用服务器返回鉴权令牌X-Subject-Token

应用服务器需要构造一个HTTP请求,请求示例如下:

POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 
Content-Type: application/json 

{ 
    "auth": { 
        "identity": { 
            "methods": [ 
                "password" 
            ], 
            "password": { 
                "user": { 
                    "name": "username", 
                    "password": "********", 
                    "domain": { 
                        "name": "domainname" 
                    } 
                } 
            } 
        }, 
        "scope": { 
            "project": { 
                "name": "xxxxxxxx" 
            } 
        } 
    } 
}

参考API文档,调测获取IAM用户Token接口。

  1. 配置“获取IAM用户Token”接口的HTTP方法、URLHeaders

  2. 配置“获取IAM用户Token”接口的Body

  3. 单击“Send”,在下方查看返回码和响应消息内容。

  4. 请将返回头域中的的X-Subject-Token更新到“IoTDA”环境的“X-Auth-Token”参数中,以便于在调用其它接口时使用。若超过令牌有效时间,需要重新调用鉴权接口。

    这里我们已经在postman中自动更新了“X-Auth-Token”参数,使用时无需手动操作。

调测“查询IAM用户可以访问的项目列表”接口

在访问物联网平台业务接口前,应用服务器需要调用“查询IAM用户可以访问的项目列表”接口获取用户的项目ID,用于后续访问物联网平台业务接口。

应用服务器需要构造一个HTTP请求,请求示例如下:

GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects
Content-Type: application/json
X-Auth-Token: ********

参考API文档,调测查询IAM用户可以访问的项目列表接口。

  1. 配置“查询IAM用户可以访问的项目列表”接口的HTTP方法、URLHeaders

  2. 单击“Send”,在下方查看返回码和响应消息内容。

  3. 返回body中包含一个projects列表,查找其中“name”参数值与“IoTDA”环境中“region”参数值相同的条目,取其“id”参数值更新到“IoTDA”环境中“project_id”参数,以便于在调用其它接口时使用。

    这里我们已经在postman中自动更新了“project_id”参数,使用时无需手动操作。

调测“创建产品”接口

在设备接入物联网平台前,应用服务器需要调用此接口创建产品,后续注册设备时需要使用这里创建的产品。

应用服务器需要构造一个请求,请求示例如下:

POST https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products
Content-Type: application/json
X-Auth-Token: ********

{
  "name" : "Thermometer",
  "device_type" : "Thermometer",
  "protocol_type" : "MQTT",
  "data_format" : "binary",
  "manufacturer_name" : "ABC",
  "industry" : "smartCity",
  "description" : "this is a thermometer produced by Huawei",
  "service_capabilities" : [ {
    "service_type" : "temperature",
    "service_id" : "temperature",
    "description" : "temperature",
    "properties" : [ {
      "unit" : "centigrade",
      "min" : "1",
      "method" : "R",
      "max" : "100",
      "data_type" : "decimal",
      "description" : "force",
      "step" : 0.1,
      "enum_list" : [ "string" ],
      "required" : true,
      "property_name" : "temperature",
      "max_length" : 100
    } ],
    "commands" : [ {
      "command_name" : "reboot",
      "responses" : [ {
        "response_name" : "ACK",
        "paras" : [ {
          "unit" : "km/h",
          "min" : "1",
          "max" : "100",
          "para_name" : "force",
          "data_type" : "string",
          "description" : "force",
          "step" : 0.1,
          "enum_list" : [ "string" ],
          "required" : false,
          "max_length" : 100
        } ]
      } ],
      "paras" : [ {
        "unit" : "km/h",
        "min" : "1",
        "max" : "100",
        "para_name" : "force",
        "data_type" : "string",
        "description" : "force",
        "step" : 0.1,
        "enum_list" : [ "string" ],
        "required" : false,
        "max_length" : 100
      } ]
    } ],
    "option" : "Mandatory"
  } ],
  "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka"
}

参考API文档,调测物联网平台创建产品接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“创建产品”接口的HTTP方法URLHeaders

  2. 配置“创建产品”接口的BODY。

  3. 单击“Send”,在下方查看返回码和响应消息内容。

  4. 将返回的“product_id”更新到“IoTDA”环境中的“product_id”参数中,用于后续其它接口使用。

    注:在postman中自动更新了“product_id”参数,使用时无需手动操作。

调测“查询产品”接口

应用服务器如果需要查询之前创建的产品详情,可以调用此接口。

应用服务器需要构造一个请求,请求示例如下:

GET https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/products/{product_id}
Content-Type: application/json
X-Auth-Token: ********

接下来参考API文档,调测物联网平台查询产品接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“查询产品”接口的HTTP方法URLHeaders

  2. 单击“Send”,在下方查看返回码和响应消息内容。

调测“创建设备”接口

在设备接入物联网平台前,应用服务器需要调用此接口在物联网平台创建设备。在设备接入物联网平台时携带设备唯一标识,完成设备的接入认证。

应用服务器需要构造一个HTTP请求,请求示例如下:

POST https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices
Content-Type: application/json
X-Auth-Token: ********

{
  "node_id" : "ABC123456789",
  "device_name" : "dianadevice",
  "product_id" : "b640f4c203b7910fc3cbd446ed437cbd",
  "auth_info" : {
    "auth_type" : "SECRET",
    "secure_access" : true,
    "fingerprint" : "********",
    "secret" : "********",
    "timeout" : 300
  },
  "description" : "watermeter device"
}

参考API文档,调测物联网平台创建设备接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“创建设备”接口的HTTP方法URLHeaders

  2. 配置“创建设备”接口的Body

  3. 单击“Send”,在下方查看返回码和响应消息内容。

  4. 请将返回的“device_id”更新到“IoTDA”环境中的“device_id”参数中,用于后续其它接口使用。

    注意:在postman中自动更新了“device_id”参数,使用时无需手动操作。

调测“查询设备”接口

应用服务器需要查询在物联网平台创建的设备详情时,可以调用此接口。

应用服务器需要构造一个HTTP请求,请求示例如下:

GET https://iotda.cn-north-4.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id}
Content-Type: application/json
X-Auth-Token: ********

参考API文档,调测物联网平台查询设备接口。

:在以下步骤中,只呈现样例调测用到的参数。

  1. 配置“查询设备”接口的HTTP方法URLHeaders

  2. 单击“Send”,在下方查看返回码和响应消息内容。