当前位置:   article > 正文

企业微信机器人文件上传接口 java代码实例_java实现企微上传文件接口

java实现企微上传文件接口

最近做了个通知模块 有一些附件需要同步到企业微信中 企业微信的文档不如钉钉api 还需要自己去写调用的实例 下面是我用java来写的一个方法 获取到上传的media_id

 

        企业微信提供的https发送的示例

  1. /**
  2. * 企业微信群上传文件url
  3. */
  4. public static final String UPLOAD_FILE_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media";
  5. /**
  6. * 发送群消息url
  7. */
  8. public static final String SEND_MESSAGE_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send";
  9. /**
  10. * 上传文件到企业微信群
  11. *
  12. * @param filePath 文件路径
  13. * @param groupKey 企业微信群机器人的webhook地址
  14. */
  15. public static String uploadMediaFile(String filePath, String groupKey) {
  16. String mediaId=null;
  17. // FileUtils.returnDownloadPath(filePath) 为你的文件路径
  18. File file = new File(FileUtils.returnDownloadPath(filePath));
  19. String urlString = UPLOAD_FILE_URL + "?key=" + groupKey + "&type=file";
  20. // 构建请求对象 FileUtils.getOriginName(filePath)为你的文件名 自行截取操作
  21. HttpRequest request = HttpRequest.post(urlString).form("file", file, FileUtils.getOriginName(filePath));
  22. // 发送请求并获取响应
  23. String result = request.execute().body();
  24. JSONObject jsonObject = JSON.parseObject(result);
  25. Integer errCode = Integer.valueOf(jsonObject.get("errcode").toString());
  26. if (errCode.equals(0)) {
  27. // 上传成功
  28. mediaId= (String) jsonObject.get("media_id");
  29. }
  30. return mediaId;
  31. }
  32. /**
  33. * 推送消息到企业微信群
  34. *
  35. * @param mediaId 媒体文件id
  36. * @param groupKey 企业微信群机器人的webhook地址
  37. */
  38. public static void sendMessageToWeChatGroup(String mediaId, String groupKey) {
  39. if (mediaId==null){
  40. throw new NullPointerException("mediaId不能为空!");
  41. }
  42. String sendUrl = SEND_MESSAGE_URL + "?key=" + groupKey;
  43. Map<String, Object> mediaMap = new HashMap<>(1);
  44. mediaMap.put("media_id", mediaId);
  45. Map<String, Object> msgMap = new HashMap<>(2);
  46. msgMap.put("msgtype", "file");
  47. msgMap.put("file", mediaMap);
  48. cn.hutool.http.HttpUtil.post(sendUrl, JSON.toJSONString(msgMap));
  49. }

其中uploadMediaFile用于拿到mediaId,sendMessageToWeChatGroup用于发送到指定群

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/178518?site
推荐阅读
相关标签
  

闽ICP备14008679号