Java对接海康威视(二次开发)组织信息、人员信息等

一.获取合作方数据

1.在【综合安防平台】的【关于】中前往【运行管理中心】

Java对接海康威视(二次开发)组织信息、人员信息等_第1张图片

2.输入账户和密码进入【运行管理中心】

Java对接海康威视(二次开发)组织信息、人员信息等_第2张图片

3.点击【状态监控】,搜索【能力开放网关】,点击【API管理】,查询可以对接的接口,点击对应的接口名称可以查看请求参数和返回的数据,也可以点击【在线测试】,对接口进行调试

Java对接海康威视(二次开发)组织信息、人员信息等_第3张图片

二、集成到Java程序

1.需要下载 海康威视的jar包【artemis-http-client-1.1.8.jar】

jar包 在 我的资源中下载 附链接
https://download.csdn.net/download/qq_41840735/88279991

2.用mvn命令安装到自己项目中,命令如下

【mvn install:install-file -Dfile=E:\artemis-http-client-1.1.8.jar -DgroupId=com.hikvision.ga -DartifactId=artemis-http-client -Dversion=1.1.8 -Dpackaging=jar】
在idea中的Terminal中执行,需要在本项目下

3.新建类,然后把方法复制进去就可以了,这儿是获取人员信息的方法

import com.alibaba.fastjson2.JSONObject;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;

import java.util.HashMap;
import java.util.Map;

public class GetCameraPreviewURL {
  public static String GetCameraPreviewURL() throws Exception {
        ArtemisConfig artemisConfig = new ArtemisConfig();
        /**
         * STEP1:设置平台参数,根据实际情况,设置host appkey appsecret 三个参数.
         */
        artemisConfig.setHost("IP:port") ; // artemis网关服务器ip端口
        artemisConfig.setAppKey("合作方的AK"); // 秘钥appkey
        artemisConfig.setAppSecret("合作方的SK"); // 秘钥appSecret

        /**
         * STEP2:设置OpenAPI接口的上下文
         */
        final String ARTEMIS_PATH = "/artemis";

        /**
         * STEP3:设置接口的URI地址
         */
        final String previewURLsApi = ARTEMIS_PATH +
                "/api/resource/v2/person/personList";
        Map<String, String> path = new HashMap<String, String>(2) {
            {
                put("https://" , previewURLsApi);//根据现场环境部署确认是http还是https
            }
        };

        /**
         * STEP4:设置参数提交方式
         */
        String contentType = "application/json";

        /**
         * STEP5:组装请求参数
         * pageSize:最大量是1000
         */

        com.alibaba.fastjson2.JSONObject jsonBody = new JSONObject();
        jsonBody.put("pageSize" ,1000);
        jsonBody.put("pageNo" , 5);
        String body = jsonBody.toJSONString();

        /**
         * STEP6:调用接口
         */
        String result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig,path, body, null, null,
                contentType, null);// post请求application/json类型参数

        return result;
    }
}

4.调用 3中的方法,将代码中的result中的数据进行解析,然后赋值给你需要的字段,通过你的接口插入到数据库中(这儿建议建一个中转库表,可以查看数据是否缺少和排错)

 String s = GetCameraPreviewURL.GetCameraPreviewURL();
            JSONObject json = JSONObject.parseObject(s);
            Map<String, Object> mapData = (Map<String, Object>) json;
            List<CPerson> personList = new ArrayList<CPerson>(200);
            if (mapData.get("code").equals("0") && mapData.get("msg").equals("success")) {
                Map<String, List<Map>> mapList = (Map) mapData.get("data");
                //真正的数据
                List<Map> list = mapList.get("list");
                

5.对接海康威视的时候注意版本的字段含义,每个版本可能会有变化

我现在使用的是 1.4 和1.7

6.有问题可以私信沟通

你可能感兴趣的:(海康威视,java,sql)