当前位置:首页 > 实用技巧 >

钉钉更新文件怎么发通知(钉钉怎么通知文件更新)

来源:原点资讯(www.yd166.com)时间:2023-10-31 05:29:23作者:YD166手机阅读>>

{"autoAddUser":true,"createDeptGroup":true,"deptId":581377085,"name":"运营部","parentId":1} {"autoAddUser":true,"createDeptGroup":true,"deptId":581377086,"name":"设计部","parentId":1} {"autoAddUser":true,"createDeptGroup":true,"deptId":581377087,"name":"产品部","parentId":1} {"autoAddUser":true,"createDeptGroup":true,"deptId":581377088,"name":"人事部","parentId":1} {"autoAddUser":true,"createDeptGroup":true,"deptId":581377089,"name":"行政部","parentId":1}获取部门用户列表

@Test public void getUserInfo() { Long deptId = 1L; final List<AbstrctUser> userList = userInfoService.selectUserListBaseOnDeptId(deptId); for (AbstrctUser abstrctUser : userList) { System.out.println(JSON.toJSONString(abstrctUser)); } }

钉钉更新文件怎么发通知,钉钉怎么通知文件更新(5)

{"userId":"XXX","userName":"丁1"} {"userId":"XXXX","userName":"张1"}通过手机号获取用户信息

@Test public void getUsrDetailOnPhoneTest() { String phone = "phone"; final List<AbstrctUser> userList = userInfoService.selectUserBaseOnPhone(phone); for (AbstrctUser abstrctUser : userList) { System.out.println(JSON.toJSONString(abstrctUser)); } }发送信息

@Test public void sendMsg() { for (int i = 0; i < 1; i ) { List<String> userIds = Arrays.asList(new String[]{"tet,ttttt"}); List<Long> deptIds = Arrays.asList(new Long[]{1l}); messageService.sendToDeptInUser(userIds,deptIds,false,new TextMessage("你们好,元旦放假了!!!,我正在测试消息发送多人" UUID.randomUUID())); } }免登录前端

  • 同样的钉钉中我们也需要获取当前登陆用户信息,所以还需要我们钉钉登陆授权。
  • 点我了解登陆认证钉钉
  • npm install dingtalk-jsapi --save进行安装。

dd.ready(function() { // dd.ready参数为回调函数,在环境准备就绪时触发,jsapi的调用需要保证在该回调函数触发后调用,否则无效。 dd.runtime.permission.requestAuthCode({ corpId: "corpid", onSuccess: function(result) { /*{ code: 'hYLK98jkf0m' //string authCode }*/ }, onFail : function(err) {} }); });

  • 安装完成后就可以通过上面代码获取授权码code,其中需要我们的参数corpId也是我们在企业配置账号中的信息之一。
后端
  • 前端获取到code之后,后端就可以根据code获取到当前登陆用户了。
  • https://oapi.dingtalk.com/user/getuserinfo?access_token=%s&code=%s
文件上传
  • 同样我们钉钉发送消息也不仅仅局限于文本,https://oapi.dingtalk.com/media/upload 。

钉钉更新文件怎么发通知,钉钉怎么通知文件更新(6)

  • 经过和微信的对比我们知道和微信支持的类型有很大的交集。所以在微信章节中我提到消息进行抽象化 , 现在我们可以共用一套实体类,出现两者不共同的我们在单独的创建特有的实体满足不同需求。

public MeterialResponse uploadPic(Meterial meterial, String FileName, InputStream inputStream) { DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/media/upload"); OapiMediaUploadRequest req = new OapiMediaUploadRequest(); req.setType(meterial.getType()); // 要上传的媒体文件 FileItem item = new FileItem(fileName,inputStream); req.setMedia(item); OapiMediaUploadResponse rsp=null; try { rsp = client.execute(req, tokenService.accessAndGetDingDingToken()); } catch (ApiException e) { e.printStackTrace(); } MeterialResponse response = new MeterialResponse(); final Field[] declaredFields = rsp.getClass().getDeclaredFields(); JSONObject jsonObject = new JSONObject(); for (Field declaredField : declaredFields) { final ApiField annotation = declaredField.getAnnotation(ApiField.class); if (null == annotation) { continue; } final String value = annotation.value(); declaredField.setAccessible(true); try { jsonObject.put(value, declaredField.get(rsp)); } catch (IllegalAccessException e) { e.printStackTrace(); } } BeanUtils.transBeanWithTranAnnotation(jsonObject, response); return response; }发送消息

  • 在上面我们已经实现了上传文件了。返回的media_id就是我们交互的载体。我们发送信息只需要将media_id发送过去就行了。

@Test public void sendMultiTypeMessage() { String fileName = "/macpower.png"; InputStream resourceAsStream = this.getClass().getResourceAsStream(fileName); final MeterialResponse response = uploadService.uploadPic(new ImageMeterial(), fileName, resourceAsStream); System.out.println(response); Message message = new ImageMessage(response.getMediaId()); List<String> userIds = Arrays.asList(new String[]{"manager2239"}); List<Long> deptIds = Arrays.asList(new Long[]{1l}); messageService.sendToDeptInUser(userIds,deptIds,false,message); }

  • 这里的发送实际上知识Message的不同而已。

钉钉更新文件怎么发通知,钉钉怎么通知文件更新(7)

代码说明

钉钉更新文件怎么发通知,钉钉怎么通知文件更新(8)

栏目热文

spss数据分析方法汇总(spss常见数据分析方法步骤)

spss数据分析方法汇总(spss常见数据分析方法步骤)

一、 均值比较检验与方差分析在经济社会问题的研究过程中,常常需要比较现象之间的一些指标有无显著差异,特别当考察的样本容量...

2023-10-31 05:43:10查看全文 >>

spss数据分析教程如何使用(数据分析spss操作教程)

spss数据分析教程如何使用(数据分析spss操作教程)

虽然本科是计算机专业,但是对SPSS接触较少,在研究生期间阅读文献的过程中看到过比较多关于数据的图表分析,第一感觉就是大...

2023-10-31 05:25:10查看全文 >>

spss怎么分析原始数据(怎么用spss分析数据)

spss怎么分析原始数据(怎么用spss分析数据)

大家好、今天我们一起学习描述性统计分析,分析数据的特征、分布形态等,为之后复杂的数据分析打下基础。话不多说,直接上操纵。...

2023-10-31 05:50:02查看全文 >>

能做spss分析的数据(spss做数据分析步骤)

能做spss分析的数据(spss做数据分析步骤)

文章及案例数据来源:微信公众号【我看人看我】在前两篇文章(《如何使用SPSS进行相关性分析(一)》、《如何使用SPSS进...

2023-10-31 05:32:59查看全文 >>

spss数据分析简单(spss数据分析教程最新)

spss数据分析简单(spss数据分析教程最新)

​ 上期我们详细讲解了SPSS一般判别分析.。一般判别分析是根据已知变量数据来判别某些样本未知类别的方法。今天我们要讲解...

2023-10-31 05:17:22查看全文 >>

钉钉如何更新消息(钉钉怎样更新至最新版本)

钉钉如何更新消息(钉钉怎样更新至最新版本)

钉钉个人资料页全新升级,让你的个人形象更加灵动、清爽。除了关注企业组织,钉钉还致力于为每一个个体带来愉悦的产品体验,关注...

2023-10-31 05:53:01查看全文 >>

钉钉更新怎样显示通知(钉钉怎样设置更新通知)

钉钉更新怎样显示通知(钉钉怎样设置更新通知)

【协同在线】之钉钉日历【钉钉日历设置并开启提醒】特点:同步提醒1.手机端路径:消息主页面-顶部-【日历】。2.点击右上角...

2023-10-31 05:10:19查看全文 >>

钉钉升级在哪里操作(钉钉如何升级最新版)

钉钉升级在哪里操作(钉钉如何升级最新版)

继此前在2022年12月举行的发布会上首次提出将探索个人版产品,并在今年4月宣布全面接入通义千问大模型,其中个人版也同步...

2023-10-31 05:27:08查看全文 >>

钉钉的系统设置在哪里(钉钉中启用设置在哪)

钉钉的系统设置在哪里(钉钉中启用设置在哪)

今天老周给大家讲解一下钉钉角色设置开干。钉钉角色的设置是非常重要的一个功能,角色的设置是辅助我们的审批流程,这样会让我们...

2023-10-31 05:32:14查看全文 >>

钉钉最新版怎么设置状态(钉钉最新版本怎么设置在线状态)

钉钉最新版怎么设置状态(钉钉最新版本怎么设置在线状态)

有关于钉钉状态工作文案短句子,句句精辟分享给你!1、进入后,点击自定义文字下方的输入框,可以输入10个文字。2、勤翻词典...

2023-10-31 05:50:54查看全文 >>

文档排行