1. 概述
1.1 版本
使用钉钉集成,需要 FineBI 、H5 、钉钉插件版本均匹配才能集成,版本的对应情况如下表所示:
FineBI 版本 | 钉钉管理插件 | 功能变动 |
---|---|---|
6.0 | V11.0.00 | - |
V11.0.62 |
| |
V11.0.84 | 可以通过修改fine_conf_entity参数DingTalkConfig.requestConfigEnable的值为true,开启「高级请求配置」功能进行自定义请求配置。详情见本文2.7节 |
1.2 应用场景
用户如果将钉钉作为移动端办公平台,可以通过安装此插件直接将 BI 集成到钉钉中,以钉钉为统一入口进行仪表板的查看。
1.3 功能简介
安装钉钉管理插件,就可以实现钉钉集成。
在钉钉管理中配置钉钉平台的基本参数,就可以读取到钉钉平台通讯录,将 BI 用户与钉钉用户绑定,就可以实现单点登录。
在定时调度的输出设置中,可以配置并推送钉钉消息。
支持集成多个企业应用,进行钉钉升级时请注意进行兼容设置。
注1:钉钉集成下若使用「扫码控件」, 要求 单点登录
注2:微信集成支持 集群配置
2. 示例
2.1 环境准备
2.1.1 安装插件
点击下载插件:钉钉管理 、HTML5 移动端展现插件
插件安装方法参照: 插件管理
2.1.2 网络环境配置
在配置集成之前,必须先完成网络环境配置,参考文档:微信钉钉集成环境准备2.2 新建 H5 微应用
管理员登录钉钉企业号,进入开放平台后打开「应用开发>钉钉应用」界面,点击「创建应用」。如下图所示:
填写创建应用的相关信息。如下图所示:
2.3 配置H5微应用
配置应用能力。点击「添加应用能力>网页应用」进入配置界面。
填写应用首页地址(可以先填数据决策系统的地址,具体的地址需要在后续步骤生成后,将生成的链接再粘贴过来)。点击「保存」完成配置。如下图所示:
服务器出口 IP 获取方法本文提供 4 种,如下所示:
百度浏览器中输入 IP 获取地址
点击右边链接获取:获取服务器出口IP
Linux 系统中,输入 curl ifconfig.me 获取
打开 cmd 命令窗口,输入如下指令:ping 域名(内网映射到外网的域名)如下图所示:
2.4 发布H5微应用
在「文档测试」应用中点击「版本管理与发布>确认发布」。发布后,设置应用的可使用范围,并点击「保存」。如下图所示:
注:可使用范围应以部门为主,不能选择到个人。
2.5 获取参数值
1)需获取的四个参数及说明如下表所示:
参数 | 说明 |
---|---|
AgentID | 在创建应用时,系统会自动生成一个 AgentID,可用于发送企业会话消息等场景 |
AppKey | 在创建应用时,系统会自动分配一对 AppKey 和 AppSecret,该 AppKey 是应用开发过程中的唯一性标识 |
AppSecret | AppSecret 和上面 AppKey 一同生成,使用 AppKey 和 AppSecret 来换取 access_token |
CorpID | 企业 ID |
2)在新创建的应用中点击查看详情,即可查看 AgentID、AppKey、AppSecret 这三个参数的值。如下图所示:
3)首页查看企业的 CorpID,如下图所示:
2.6 平台中添加钉钉应用
以管理员身份进入数据决策系统,点击管理系统>钉钉管理,如下图所示:
2.6.1 保存报表服务器地址
必须设置服务器地址并保存,如果不设置,推送的时候可能会有问题,例如:http://secure.finedevelop.com:63778/webroot/decision,输入「服务器地址」,如下图所示:
2.6.2 新建钉钉应用
点击「新建钉钉应用」,输入钉钉应用名称,并将本文 2.5 节已确认的 AgentID、CorpID、AppKey、AppSecret 分别填到钉钉应用 ID、CropID、AppKey、AppSecret 中,点击「确定」。如下图所示:
注:请填写合乎规范的信息,钉钉应用名称、钉钉应用 ID(AgentId)、CropID、AppKey、AppSecret 均不可为空,且钉钉应用名称不可重复。
新建钉钉应用成功后,可对信息进行修改和删除,支持集成多个钉钉应用。如下图所示:
2.7 应用快捷配置
2.7.1 钉钉代理跳转
内网环境:
若 BI 服务器是配置在内网,则需要配置代理服务器地址,来进行钉钉的访问。如下图所示:
注:当客户需要配置正向代理时,可将对应代理服务器的地址填写在快捷配置这里,具体正向代理的配置可以参考 微信钉钉集成环境准备第 4 节
文本框中输入正确的「代理服务器地址」,点击「测试连接」,连接成功后,会提示信息:「连接成功」
外网环境:
外网环境不需要设置代理服务器地址。
2.7.2 生成钉钉链接
该功能可以生成访问「决策平台」或「某个模板」的链接。
链接可应用于:1)应用的 主页 配置;2)定时调度最后一步「文件处理>客户端通知」推送「自定义链接」。可参考文档:定时调度任务设置步骤;
1)生成访问决策平台的钉钉链接
选择相应的钉钉应用名称和链接页面「决策平台」,点击「生成链接」,生成钉钉链接,点击「复制」,如下图所示:
2)生成访问单个模板的钉钉链接
选择相应的钉钉应用名称和链接页面「单个模板」,选择对应的模板,点击「生成链接」生成钉钉链接,点击「复制」,如下图所示:
单个模板可设置「BI仪表板」和「报表」:
单个模板选择「BI仪表板」时:
①(只有选择仪表板和制作仪表板的人都在同一部门,该情况才生效)若用户分配到部门,可选择到:部门内可管理用户制作的仪表板、其他部门的用户制作的仪表板、自己账号下的仪表板;
②若用户未分配到部门,跟随定时调度的权限规则。
注 1:若没有设置其他用户的管理权限,则只能选择自己的仪表板。
注 2:关于用户部门管理可参考:用户管理
单个模板选择「报表」下模板,操作步骤参考报表平台的 钉钉管理插件 2.7.2节内容。
3)生成自定义链接
生成在钉钉能够访问的轻应用链接。
首先,选择「企业应用名称」,生成「自定义链接」并填入「移动端轻应用」中生成的链接。然后点击「生成链接」并复制即可。如下图所示:
2.7.3 其他设置
2.7.3.1 PC端在浏览器打开链接
若用户希望 PC 端点击消息推送的链接,能够在外部浏览器下打开内容,打开按钮「PC端在浏览器打开链接」。
在 PC 端点击推送消息后,钉钉内置浏览器提示「链接将在外部浏览器打开」。
2.7.3.2 (非必须项)高级请求配置
需要请求头自定义的用户可进行配置,没有需求可跳过此步骤。
FineBI版本 | 钉钉管理插件版本 | fine_conf_entity可视化配置插件版本 |
---|---|---|
6.0 | V11.0.84 | V1.9.19 |
高级请求配置可设置请求头参数,用于认证等。
通过修改 fine_conf_entity可视化配置参数DingTalkConfig.requestConfigEnable的值为true,打开「钉钉管理」的高级请求配置功能页面,进行自定义请求配置。
参数名 | 参数描述 | 参数值 |
---|---|---|
DingTalkConfig.requestConfigEnable | 开启或关闭钉钉插件高级请求配置 | 参数值需为布尔型,默认为false false:关闭钉钉插件高级请求配置 true:开启钉钉插件高级请求配置 |
完成后返回「钉钉管理>应用快捷配置」中,查看到「其他配置」项中出现了「高级请求配置」。可添加请求头配对的「键」和「值」。可添加多个。完成后点击「保存」。如下图所示:
2.7.4 新建钉钉群
10.4.976 版本新增的功能,可以给钉钉应用新建钉钉群,支持通过定时调度推送群消息到钉钉群。
建群方法如下:
1)先完成钉钉集成。
2)在钉钉开放平台里新增 chat相关接口的管理权限。步骤详情请参见钉钉帮助文档:企业群消息---概述
否则会出现报错,如下图所示:
钉钉返回失败信息为:{'errcode':60011,'errmsg':'没有调用该接口的权限,接口权限申请参考:https://ding-doc.dingtalk.com/doc#/serverapi2/rnomdt'}
3)点击「新建钉钉群」,选择「钉钉应用」,填写「钉钉群名称」,选择「群主」和「群成员」,如下图所示:
注:所有设置项均不允许为空。
10.4.976 版本支持推送钉钉群消息,详细介绍参见文档:钉钉定时推送消息
2.8 修改首页地址链接
用户若需要设置 PC 端单点登录,参考本文 2.8.2 节内容;若不需要设置 PC 端单点登录,请忽略本文 2.8.2 节内容。
2.8.1 应用首页地址
进入本文 2.3 节中已创建的H5微应用,点击「开发管理>修改」,将 2.7.2 节 生成的链接粘贴到「应用首页地址」,点击「保存」。如下图所示:
2.8.2 PC 端首页地址
1)版本要求
JAR 为 2020-08-04 及之后,钉钉管理插件为 V10.4.69 及之后,HTML5 移动端展现插件版本为 V10.4.45 及之后时,钉钉集成支持 PC 端单点单点登录 。
注:若用户使用的钉钉管理插件为 V10.4.69 版本,但 URL (本文 2.7.2 节生成的链接)依然使用之前已生成的链接,会显示 H5 的效果。
2)具体步骤
用户若需要设置 PC 端单点登录 ,需填写「PC端首页地址」,该地址与「应用首页链接」地址一致,如下图所示:
2.9 开启权限
点击「权限管理>通讯录管理」,开启权限。如下图所示:
开通的权限为以下4项:
企业员工手机号信息
通讯录部门信息读权限
成员信息读权限
通讯录部门成员读权限
若要实现群消息推送,需要在钉钉开放平台里新增一个权限:钉钉群基础信息管理权限。
2.10 成员管理
2.10.1 用户匹配方式
可根据实际情况选择一种用户匹配方式。
用户匹配方式:「钉钉工号匹配」、「手机号匹配」、「手动匹配」、「自定义匹配」,默认为「钉钉工号匹配」。「成员管理」页面如下图所示:
注:不管集成几个钉钉应用,用户统一进行管理。
钉钉工号匹配:
「钉钉工号匹配」和「手机号匹配」展示列相同。
钉钉工号匹配,则是钉钉工号与 BI 里的用户名匹配,为一对一匹配。
手机号匹配,钉钉用户的手机号是唯一的,但是 BI 用户可以设置多个用户有同一个手机号,此时的匹配逻辑为哪个 BI 用户先创建则匹配哪个。
选择这两个匹配方式时,钉钉通讯录信息展示:姓名、钉钉工号、钉钉成员ID、钉钉部门和钉钉成员手机号,如下图所示:
手动匹配:
当匹配方式为「手动匹配」时,钉钉成员列表中多出「用户名」一列信息,点击出现下拉框,选择相应的用户名,进行手动匹配。如下图所示:
注1:手动匹配时,用户名支持选择「不选」选项。
注2:手动匹配方式是用户可以自由选择与钉钉用户匹配的 BI 用户,可实现多个钉钉用户匹配同一个 BI 用户。
自定义匹配:
即通过设置的「服务器数据集」,将对应数据列的钉钉用户和 BI 用户相匹配。若出现一个钉钉用户对应了多个 BI 用户的情况,默认匹配第一个 BI 用户。
选择自定义匹配时,下方多出「匹配设置」项,选择数据集、钉钉成员ID以及用户名,进行匹配。如下图所示:
2.10.2 通讯录更新
点击左侧立即更新按钮,立即更新通讯录内容。也可设置定时更新,点击自动更新按钮,弹出设置框,设置更新频率。如下图所示:
注1:用户匹配方式为「钉钉工号匹配」或「手机号匹配」时,如果用户增删改 BI 用户或者在后台增删改钉钉用户,需要手动同步通讯录更新。
注2:用户匹配方式为「手动匹配」或「自定义匹配」时,如果用户增删改 BI 用户或者在后台增删改钉钉用户,无需更新同步。
注3:时间点设置不要为 00:00,可能会概率导致通讯录同步失败,因为钉钉管理平台那边有接口频率调用限制,限制600次/秒,而大部分企业的时间可能都会使用00:00这个时间点,导致同步失败,通讯录获取的用户信息缺失。
2.10.3 用户同步
钉钉管理插件版本 V11.0.54 之后,支持将钉钉通讯录的用户信息同步到「用户管理」界面中,保存到平台。
用户同步配置详情请参见:同步用户
1)同步配置
在「用户管理」中进行「同步用户」,用户来源选择「从钉钉同步」,选中对应的钉钉应用,即可根据钉钉通讯录实现同步效果。
注:「钉钉管理>成员管理」的通讯录手动更新和自动更新;「用户管理>同步用户」都能实现平台用户信息的更新。
2)同步成功后,用户信息同步到平台。
注:因为钉钉接口限制,所有无法同步密码,报表用户初始密码随机生成。如果用户在 APP 或 PC 端想通过账号密码登录,需点击 忘记密码 ,重置后才能登录。
3)同步触发方式
同步类别 | 同步设置方式 | 详情 |
---|---|---|
手动同步 | 用户管理>同步用户>从钉钉同步 | 第一次同步钉钉用户信息 |
用户管理>同步用户管理>立即同步 | 对用户信息再次进行同步 | |
钉钉管理>成员管理>立即更新 | 更新通讯录,并同步「用户管理」中的用户信息 | |
自动同步 | 钉钉管理>成员管理>自动更新 | 根据钉钉管理中设置的「自动更新」时间,自动更新通讯录,并同步「用户管理」中的用户信息 |
注意事项:
1)钉钉通讯录添加的用户,要保证姓名、钉钉工号、钉钉部门和手机号不为空;
2)使用钉钉同步前,平台同步功能是打开的,且不能清空过同步数据;
不满足以上两点,同步钉钉用户到平台会失败。
4)钉钉和平台同步字段的映射关系
将钉钉中的成员信息,同步到「用户管理」中时,每条字段的映射关系。
平台字段 | 钉钉字段 |
---|---|
用户ID | UserID |
用户名 | 工号(job_number) |
姓名 | 姓名 |
密码 | 因为钉钉接口限制,无法同步密码,所以初始密码随机生成; 如果用户希望通过 APP 或 PC 端登录,需要 重置密码 |
手机 | 手机 |
邮箱 | 邮箱 |
部门id | departmentid |
部门名称 | 部门 |
无职务 | 无职务 |
角色id | roleid(目前接口尚未适配同步角色) |
角色名称 | 角色(目前接口尚未适配同步角色) |
2.11 效果查看
登录钉钉,点击工作台>文档测试,该用户会看到自己权限内可以查看的目录,如下图所示:
3. 消息推送
1)参考[通用]定时任务推送消息至 App ,「文件处理」步骤中选择钉钉通知即可,如下图所示:
2)钉钉用户登录钉钉,可收到消息。如下图所示:
4. 注意事项
4.1 内网访问白名单
在做钉钉集成时,有的客户为内网环境,不允许所有网页都能访问,但要确保能访问钉钉的域名:https://oapi.dingtalk.com/
4.2 插件不支持内外网同时配置
若同时配置会出现报错 redirect_uri,以及部分用户登陆有问题。如下图所示:
5. 钉钉集成问题处理
1)环境是否配置好:微信钉钉集成环境准备
2)使用工具排查出现的各类常见(单点登录失败、同步通讯录失败、消息推送失败)问题:微信钉钉调试工具、微信钉钉推送/单点/同步失败通过日志定位
3)「应用管理」报错;定时调度消息推送报错;网络异常等:微信钉钉应用列表报错
4)出现错误码,对照错误码找问题:微信钉钉错误码对照表