本帖最后由 Chelsey.Wang 于 2021-12-3 14:09 编辑
注意:此方式仅支持7.0.102以上版本
1:登录钉钉开放平台,开发者后台管理 https://open.dingtalk.com/
创建一个企业内部开发微应用
微应用创建好之后:我们需要用到 AppKey AppSecret 具体用法,后面步骤再叙述。
选择开发管理:
项目访问地址+customapi/dingdingsinglelogin/sso 在权限管理中;需要开启的权限如图:注意这几个权限开启完 选择钉钉登录与分享:添加回调域名:项目访问地址+customapi/dingdingsinglelogin/sso 在活字格设计器,设置中开启“与另外的网站集成”
Config.json 里面具体配置参数: 在服务器端,添加自定义属性 如何获取钉钉userID 链接地址:https://oa.dingtalk.com/#/welcome
单点登录配置完成了,发布应用就可以测试了。
---------------------------使用发送消息返回的地址,进行单点登录-----------------------------
官网教程: 发送http消息配置请看: 资源地址:
配置消息提醒: 创建一张表(见名之意就好)用于存储,钉钉信息:
创建一个服务端命令:获取token
具体获取做法,请看上面链接(视频教程) 大约在 15分
配置好之后,测试一下
创建发送钉钉消息服务端命令(http形式): 服务端命令添加两个参数 pageName(页面名称) parameter(参数)
1:首先调用获取token服务端命令, 2:获取表格钉钉配置表中 agentID ,Access_token (表格中的字段) 3:发送http请求:
钉钉文档:
4:配置消息推送格式: 我演示的是以卡片的形式发送消息:
Msg;中配置消息的类型,链接地址,消息标题, Msgtype;消息类型,action_card 为卡片形式(根据自己的需求,可以查询钉钉文档) Action_card: Title:消息提示的名称 markdown;消息内容 single_title:消息链接名称 single_url:链接地址
Single_url:
User_Id:解释一下:
问题:程序如何获取链接中的参数,这里需要在编辑页面加载时命令添加js命令 function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs.split("=")[0]]=unescape(strs.split("=")[1]); } } return theRequest; } var objUrl = GetRequest(); Forguncy.Page.getCell("单元格名称").setValue(objUrl.单元格名称);
To_all_user :是否发送全部用户 一般设置为false Agent_ID :获取设置变量中(access)的access.agentID 解释;钉钉配置表中的agent_ID Userid_list : 用户的userID
大功告成!
|