package com.ycl.controller.dingding; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.xxpt.gateway.shared.api.request.OapiMediaUploadRequest; import com.alibaba.xxpt.gateway.shared.api.response.OapiMediaUploadResponse; import com.alibaba.xxpt.gateway.shared.client.http.ExecutableClient; import com.alibaba.xxpt.gateway.shared.client.http.GetClient; import com.alibaba.xxpt.gateway.shared.client.http.IntelligentPostClient; import com.alibaba.xxpt.gateway.shared.client.http.PostClient; import java.io.*; import static com.ycl.common.constant.DingConst.GET_TIKER; import static com.ycl.common.constant.DingConst.GET_TOKEN; public class IntelligentClientTest { private static ExecutableClient executableClient; static { executableClient = ExecutableClient.getInstance(); //DomainName不同环境对应不同域名,示例为sass域名 executableClient.setDomainName("openplatform.dg-work.cn"); executableClient.setProtocal("https"); //应用App Key executableClient.setAccessKey("SC_ZHZF-IC5g2YiRDW8tug1DfAfiui"); //应用App Secret executableClient.setSecretKey("39RIHFOKd8fUeeW9T7CdBcwEqA6dMKx5d3686B6P"); executableClient.init(); } private static String getToken() { //调用API GetClient getTokenClient = executableClient.newGetClient(GET_TOKEN); //设置参数 getTokenClient.addParameter("appkey", "SC_ZHZF-IC5g2YiRDW8tug1DfAfiui"); getTokenClient.addParameter("appsecret", "39RIHFOKd8fUeeW9T7CdBcwEqA6dMKx5d3686B6P"); String apiResult = getTokenClient.get(); return parsingResult(apiResult); } private static String parsingResult(String apiResult) { if (ObjectUtil.isNotNull(apiResult)) { JSONObject resJson = JSONObject.parseObject(apiResult); if (resJson.getBoolean("success")) { JSONObject content = resJson.getJSONObject("content"); if (content.getBoolean("success")) { JSONObject dataObj = content.getJSONObject("data"); String accessToken = dataObj.getString("accessToken"); return accessToken; } } } return null; } public static void main(String[] args) { // //executableClient保证单例 // IntelligentPostClient intelligentPostClient = executableClient.newIntelligentPostClient("/media/upload"); // OapiMediaUploadRequest oapiMediaUploadRequest = new OapiMediaUploadRequest(); // String token = getToken(); // //调用接口凭证 // oapiMediaUploadRequest.setAccess_token(token); // //媒体文件类型,分别有图片(image)、语音(voice)、普通文件(file) // oapiMediaUploadRequest.setType("file"); // //orm-data中媒体文件标识,有filename、filelength、content-type等信息 // oapiMediaUploadRequest.setMedia("字符串"); // intelligentPostClient.addFile(new File("F:\\视频\\C20353B5856A7413D4B40A8D42BBA569.mp4")); // //获取结果 // OapiMediaUploadResponse apiResult = intelligentPostClient.post(oapiMediaUploadRequest); // System.out.println(apiResult); File file = new File("F:\\halon.json"); try { JSONObject jsonObject = readerMethod(file); String dataList = jsonObject.getString("dataObj"); JSONArray array = JSON.parseArray(dataList); String urls = ""; for (int i = 0; i < 311; i++) { JSONObject object = (JSONObject) array.get(i); String path = object.getString("FilePath"); urls += path + "\r\n"; } System.out.println(urls); } catch (IOException e) { throw new RuntimeException(e); } } private static JSONObject readerMethod(File file) throws IOException, FileNotFoundException { FileReader fileReader = new FileReader(file); Reader reader = new InputStreamReader(new FileInputStream(file), "Utf-8"); int ch = 0; StringBuffer sb = new StringBuffer(); while ((ch = reader.read()) != -1) { sb.append((char) ch); } fileReader.close(); reader.close(); String jsonStr = sb.toString(); // System.out.println(JSON.parseObject(jsonStr)); return JSON.parseObject(jsonStr); } }