实战培训

当前位置:首页>帮助手册>实战培训

O2OA二次开发-使用开源平台搭建完整OA(13)-将O2OA集成到钉钉

时间:2022-03-11   

钉钉集成


在前面移动办公的课程中,我们已经介绍了: O2OA移动APP的功能和能力,但是现在用户说,我们一直都是在使用钉钉进行移动办公,不想再安装其他新的APP了。能不能在钉钉中使用O2OA进行办公呢?

其实我们前面也提过,O2OA是支持钉钉、企业微信,华为welink的接入的。

我们这里就以钉钉为例,给大家演示如何接入。

前提:

这里提一下,因为O2OA接入钉钉后,将会自动从钉钉中同步所有的人员和组织,O2OA的所有人员和组织是以钉钉创建的组织架构为准的。

接下来,我们开始来操作:第一步

创建钉钉微应用:

接入钉钉,我们要先去钉钉管理后台创建一个应用,

打开地址:http://oa.dingtalk.com,通过手机钉钉扫码,

管理员进入钉钉管理后台,选择 工作台-应用管理 菜单。

image (39).png钉钉管理后台.png


点击 自建应用 创建按钮,进入钉钉开放平台,选择顶部菜单应用开发 -> 企业内部应用

企业内部开发.png


点击创建应用按钮

钉钉应用.png



企业内部应用.png

创建后可以看到应用的凭证信息,这些凭证信息后续要用到O2OA的配置文件上。


应用凭证.png

创建完成应用后需要把通讯录的同步权限开启,否则无法将人员组织同步到O2OA,点击应用的权限管理菜单,申请如下六个权限:企业员工手机号信息,邮箱等个人信息,通讯录部门信息读权限,成员信息读权限,根据手机号姓名获取成员信息的接口访问权限,通讯录部门成员读权限。


权限配置.png


修改O2OA服务器上的钉钉配置文件:

现在我们开始进行O2OA和钉钉的集成,管理员登录并打开系统设置菜单,点击平台配置,找到dingding(钉钉配置):

钉钉配置.png


把钉钉新创建的应用凭证信息添加到这个配置文件中,分别是agentId 、appKey、appSecret。


还有一个corpId也可以在钉钉开放平台的首页找到。

corpID.png


填入这4个参数后,把第一个参数 enable 的值改成 true。重启O2OA服务器。

同步钉钉人员组织到O2OA:


O2OA服务器重启完成后  ,我们现在来看一下组织用户,点开组织管理,我们看到组织库里的组织信息是之前通过Excel导入的数据,不是钉钉的人员同步数据。

O2OA服务器会定时去同步组织和人员数据,但是第一次启用钉钉配置文件后,定时器应该还没执行,如果我们要看效果,可以马上去执行一次同步,这样就不用等定时器的执行了。


打开中心服务器的api地址,http://live.o2oa.net:20030/x_program_center/jest/index.html

如:http://127.0.0.1:20030/x_program_center/jest/index.html

找到API Menu中的钉钉接口 DingdingAction,找到里面的 立即同步(pullSync) 菜单,点击后右边区域会有接口地址,请求方法,描述等信息,下面有一个GET 按钮,点击这个 GET 按钮就会马上执行钉钉数据同步。

钉钉查看器.png

在点击之前,我们可以先打开日志查看器


日志查看器

组件.png


点击刚才API页面的 GET 按钮后,就会在日志查看器中看到我们的同步日志。

同步日志.png

o2平台是从钉钉的根组织开始同步的,如果同名会覆盖,如果不同名会保留。钉钉会限制每分钟访问的次数,所以同步需要些时间,耐心等待一会儿。 。。显示钉钉同步人员结束,再到组织库里 进行刷新。 我们看到了 这就是从钉钉同步下来的组织和人员。

查看组织架构


O2OA和钉钉的单点登录:


组织人员同步成功后,我们需要到钉钉应用管理中去配置刚才创建的钉钉微应用的打开链接。这个链接配置的是一个O2OA上的页面地址,如果想要打开这个页面,钉钉和O2OA之间需要完成单点登录的功能,不过O2OA其实已经集成好了这个单点的功能,所以我们不需要额外的开发,只需要在钉钉应用管理中配置特定的地址就行了:


开发管理.png


在钉钉应用管理 -> 开发管理 中,填入应用首页地址http://o2oa服务器域名/x_desktop/ddsso.html ,就完成了地址配置,打开手机操作(投屏,幕享),看一下,这时候就可以在钉钉APP上点击打开我们创建的应用了,点击之后,可以看到我们O2OA默认的办公中心页面。


办公.jpeg


钉钉应用如果不想打开这个默认的办公中心,而是想打开做好的手机门户的话,只需要在前面的连接地址上加一个redirect参数就行了:

redirect=portalmobile.html?id=门户标识

门户的id哪里获取呢?:

c51adab7-44d1-47b2-b513-178b2ed8eec6.png移动门户.png


查看效果

手机办公.jpeg


更多配置信息:

接下来,我们回到O2OA平台,详细的说一下钉钉的配置文件里的相关参数,

前面说过我们填写了关于钉钉应用的几个应用凭证信息字段,但是下面还有更多的字段,这些字段有啥功能,这里大致介绍一下:


"enable": "是否启用企业钉钉接入: true | false",  
"corpId": "企业在钉钉开放平台上的corpId ",
"agentId": "企业钉钉应用信息AgentId ",
"appKey": "企业钉钉应用信息AppKey ",
"appSecret": "企业钉钉应用信息AppSecret ",
"forceSyncCron": "强制拉入同步cron, 默认在每天的8点和12点强制进行同步(10 45 8,12 * * ?)",
"oapiAddress": "企业钉钉api服务器地址, 固定填写:https://oapi.dingtalk.com",
"messageEnable": "是否允许推送消息到企业钉钉: true | false"
"workUrl":"这个参数是为了钉钉推送的工作消息开启超链接功能,这里配置o2oa服务器地址, 如:http://dev.o2oa.net/x_desktop/",
"messageRedirectPortal":"这个参数是配置一个门户id,是上面工作消息打开后处理完成跳转的门户页面",
"scanLoginEnable": "是否开启钉钉扫码登录: true | false",  
"scanLoginAppId": "钉钉扫码登录的AppId",
"scanLoginAppSecret": "钉钉扫码登录的appSecret"


前面5个字段已经一一对应过了,主要用来同步和单点登录的。


forceSyncCron 这个字段是一个定时表达式,根据这个表达式定时进行人员、组织数据的同步,让O2OA上的人员组织和钉钉上的同步。


oapiAddress是钉钉api服务器地址,不需要修改。


workUrl 工作消息超链接功能。用户说,现在钉钉上消息是有了,但是是文字消息,没办法点开处理待办工作呀,那这个字段就需要填入O2OA的web服务器地址,如:http://o2oa服务器域名/x_desktop/

messageEnable 开启钉钉消息用的。比如用户说希望钉钉上能收到待办消息,那就需要开启这个字段,改为true


messageRedirectPortal 工作消息打开工作处理页面,完成工作后需要跳转的门户页面的标识。默认我们的工作处理完成后会打开我们O2OA的默认办公中心,如果有专门做好的门户,这里配置那个门户的标识就行。完成工作后就会打开这个门户页面。


scanLoginEnablescanLoginAppIdscanLoginAppSecret 这三个字段是用来开启使用钉钉扫码登录O2OA用的,需要到钉钉管理后台申请单点登录应用,申请成功后会有appid和appSecret 的内容,分别填入scanLoginAppIdscanLoginAppSecret,并且开启 scanLoginEnable 为 true。我们的O2OA的登录界面就会多一个钉钉扫码登录按钮。就可以用钉钉扫码登录我们的O2OA了。

接下来,我们来操作:

钉钉扫码登录实现

新版还没找到这个功能,那么我们返回到旧版操作

移动接入.png


选择应用开发---》移动接入应用->>登录

应用授权.png

创建扫码登录应用授权

image (45).png扫码授权.png


授权logo地址:

自己定制的一个logo图片,https://static.oschina.net/uploads/logo/o2oa_pTNm5.png

自己定制的一个logo图片     http://www.o2oa.net/image/o2oa_logo.png

这里要注意一下回调地址,直接使用:http://live.o2oa.net/x_desktop/oauth.html 

image (46).png应用授权.png

创建完成后,修改O2OA的钉钉配置,根据获得的appId 和appSecret  修改  scanLoginAppIdscanLoginAppSecret ,设置scanLoginEnable为true ,重启服务。


扫码登陆.png


钉钉配置.png


重启后,我们就发现登录页面多了一个钉钉图标,点击图标我们就可以进行钉钉扫码登录了,ok,这样就顺利的进入到我们的平台首页了。


登陆.png











上一篇:O2OA二次开发-使用开源平台搭建完整OA(9)-快速搭建企业门户

下一篇:O2OA二次开发-使用开源平台搭建完整OA(12)-O2OA与第三方系统的数据交互实现