O2OA 平台拥有配套的原生开发的安卓和 IOS 移动 APP,可以以自建应用的方式集成到企业微信,同步企业微信的企业通讯录作为本地组织人员架构,并且可以将待办等通知直接推送到企业微信进行消息提醒。本篇主要介绍如何将 O2OA 集成到企业微信实现微信办公。
如果 O2OA 成功接入企业微信,O2OA 将会自动从企业微信拉取所有的人员和组织进行同步,O2OA 的所有人员和组织以企业微信中创建的组织架构为准( 本地已经创建的人员和组织将保留不会被删除,可能会造成人员和组织重复 )。
O2OA 接入企业微信建议先配置好企业微信应用,待组织和人员从企业微信同步完成后,再进行组织和人员的信息编辑,避免人员和组织信息的重复创建。
注册地址:https://work.weixin.qq.com/,此过程需要提供使用微信的企业相关信息。
注册成功后,使用管理员账号登录企业微信,在 [我的企业] 信息最后一行可以获取企业的 CorpId,如下图所示:
我的企业信息
注册成功后,使用管理员账号登录企业微信,如下图所示:
企业微信管理控制台
点击 [应用与小程序],如下图所示界面:
应用与小程序
如上图所示,点击 [创建应用],继续在自建程序区域创建应用:
创建自建应用
填写好应用相关信息后进行应用创建:填写好应用相关信息后进行应用创建:
应用LOGO:可以自行制作合适大小的LOGO,此LOGO将在企业微信中展示。 应用名称:此应用的具体名称,可以随意命名,如O2OA,企业办公,XXOA都可以。 应用介绍:此应用的具体用途介绍。 可见范围:这个可见范围和同步通讯录有关系,这里请选择顶层组织。
应用创建完成后,如下图所示界面:
应用创建完成
您可以在界面中获取 AgentId 和 secret 信息,这两个信息以及之前获取的 CorpId 将配置到 O2OA 相关的接入配置中,请牢记此信息。
新版自建应用增加了企业可信 IP 配置,因为 O2OA 需要同步通讯录以及和企业微信进行单点认证,所以 O2OA 需要调用企业微信的 API,这时候需要在企业可信 IP 中配置你的 O2OA 服务器所在的外网 IP。否则,O2OA 将无法调用企业微信的 API 进行交互。
应用创建完成后需要验证域名,也就是 O2OA 服务器外网访问的域名需要如下验证。因为企业微信需要通过验证的证明这个域名地址是属于开发者所有。才能进行后续单点认证等操作。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=https%3A%2F%2F[host][port]%2Fx_desktop%2Fqiyeweixinsso.html%3Fredirect%3Dportalmobile.html%3Fid%3D*********&response_type=code&scope=snsapi_base&agentid=1000004wechat_redirect
其中:
appid : 企业的corpId host : O2OA服务器提供服务的域名 port : O2OA服务器提供服务的端口 AgentId : 应用的agentId redirect_uri参数需要使用urlencode进行编码,不然会遇到50001错误,redirect_uri不是可信域名。 这个url是:http://[host]:[port]/x_desktop/qiyeweixinsso.html?redirect=portalmobile.html?id=************ 这样的形式。后面跟了一个redirect参数,就是需要跳转到一个门户页面,id就是门户的id,不配置这个参数也行,进入的是一个默认的待办列表页面。
第三步创建应用后,里面有一个 secret,这个就是自建应用的 secret,请配置到 O2OA 里对应的 CorpSecret 字段,具体参数说明在第五步:
五、O2OA 接入配置
配置文件这块请注意,syncSecret(通讯录同步 secret) 请配置上面创建的企业自建应用的 CorpSecret。
配置文件现在可以在系统设置中进行配置, 配置完成后,还是需要重启 O2OA 服务才能生效
或者老版的系统设置不支持界面配置话,可以直接修改服务器上的配置文件
1、进入 o2oa 安装目录,从 o2server/configSample 目录下拷贝 qiyeweixin.json 到 o2server/config 目录(如果已经复制过了,请跳过此步骤);
2、使用文本编辑器打开 qiyeweixin.json 进行编辑:
{ "enable": false, "syncCron": "10 0/10 * * * ?", "forceSyncCron": "10 45 8,12 * * ?", "apiAddress": "https://qyapi.weixin.qq.com", "corpId": "", "syncSecret": "", "corpSecret": "", "agentId": "", "token": "", "encodingAesKey": "", "workUrl": "", "messageRedirectPortal": "", "messageEnable": false, "scanLoginEnable": false, "attendanceSyncEnable": false, "attendanceSyncAgentId": "", "attendanceSyncSecret": "", }
"enable": "是否启用企业微信接入: true | false", "syncCron": "企业微信回调信号读取的定时器, 默认每10分钟同步一次(10 0/10 * * * ?).", "forceSyncCron": "同步企业微信通讯录的定时器, 默认在每天的8点和12点进行同步(10 45 8,12 * * ?)", "apiAddress": "企业微信api服务器地址, https://qyapi.weixin.qq.com", "corpId": "企业微信参数corpId", "syncSecret":"企业微信同步通讯录的Secret,新版应用使用下面corpSecret一样的secret", "corpSecret": "企业微信自建应用的secret", "agentId": "企业微信自建应用的AgentId", "messageEnable": "是否允许推送消息到企业微信: true | false", "token":"回调token", "encodingAesKey": "回调encodingAesKey###", "workUrl":"这个参数是为了企业微信推送的工作消息开启超链接功能,这里配置o2oa服务器地址, 如:http://dev.o2oa.net/x_desktop/", "messageRedirectPortal":"这个参数是配置一个门户id,是上面工作消息打开后处理完成跳转的门户页面", "scanLoginEnable": "企业微信扫码登录###", "attendanceSyncEnable": "是否启用考勤信息###", "attendanceSyncAgentId": "企业微信考勤打卡应用id###", "attendanceSyncSecret": "企业微信考勤打卡应用secret###"
完成以上配置后重启 O2OA,即可完成 O2OA 在企业微信中的接入。
服务地址:http://o2oa 服务器域名: 中心服务端口 /x_program_center/jest/index.html
服务名称:QiyeweixinAction.pullSync
如下图所示界面,点击 GET 之后,观察服务器控制台或者日志文件信息(o2server/logs),可以查看到同步日志。
不要多次点击 GET,点击一次后,控制台会有正在拉取组织人员信息相关的日志。
如果同步成功,就可以打开企业微信,点击前面创建的自建应用,就会完成单点认证并进入到 O2OA 的办公中心页面。