开源OA协同办公系统:O2OA搭建企业微信办公首页说明
O2OA办公开发平台基于J2EE分布式架构,集成移动办公、智能办公、支持私有化部署,自适应负载能力。O2OA基于AGPL协议开放源代码的企业信息化系统需求定制开发平台解决方案,能够极大程度上节约企业软件开发成本。
开源的O2OA平台能以自建应用的方式集成到企业微信,同步企业微信的企业通讯录作为本地组织人员架构,并且可以将待办等通知直接推送到企业微信进行消息提醒。
如果O2OA成功接入企业微信,O2OA将会自动从企业微信拉取所有的人员和组织进行同步,O2OA的所有人员和组织以企业微信中创建的组织架构为准( 本地已经创建的人员和组织将保留不会被删除,可能会造成人员和组织重复 )
使用方法:
一、注册企业微信号
第一步就是注册企业微信(此过程需要提供使用微信的企业相关信息,可以提前进行准备)
注册成功后,需记住企业id,下面配置需用到,位置如下图所示:
二、通讯录同步设置
打开通讯录同步,配置同步方式、权限,如下图所示:
三、添加O2OA为企业微信自建应用
1、创建应用
首先使用管理员账号登录企业微信,切换到“应用管理”页签,点击“创建应用”,如下图所示:
应用LOGO:可以自行制作合适大小的LOGO,此LOGO将在企业微信中展示。
应用名称:此应用的具体名称,可以随意命名,如O2OA,企业办公,XXOA都可以。
应用介绍:此应用的具体用途介绍。
可见范围:可使用此应用的人员范围设定,可以选择组织和个人成员。
创建完成后,需记住AgentId和Secret(此secret为O2OA配置文件qiyeweixin.json里的corpSecret参数的值),下面配置有用到,如下图所示:
2、工作台应用主页设置
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=1000004&#wechat_redirect
appid : 企业id
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就是门户(应用市场企业微信门户)标识
三、网页授权及JS-SDK
授权文件放置路径:o2server/servers/webServer/
四、O2OA接入配置
A、进入o2oa安装目录,从o2server/configSample 目录下拷贝 qiyeweixin.json 到 o2server/config 目录(如果已经复制过了,请跳过此步骤);
B、使用文本编辑器打开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": "是否启用.###",
"###syncCron": "拉入同步cron,默认每10分钟同步一次.###",
"###forceSyncCron": "强制拉入同步cron,默认在每天的8点和12点强制进行同步.###",
"###apiAddress": "api服务器地址###",
"###corpId": "企业微信corpId###",
"###syncSecret": "企业微信同步通讯录Secret###",
"###corpSecret": "企业微信corpSecret###",
"###agentId": "企业微信agentId###",
"###token": "回调token###",
"###encodingAesKey": "回调encodingAesKey###",
"###workUrl": "企业微信消息打开工作的url地址,如:http://dev.o2oa.net/x_desktop/###",
"###messageRedirectPortal": "企业微信消息处理完成后跳转到特定的门户页面的Id###",
"###messageEnable": "推送消息到企业微信###",
"###scanLoginEnable": "企业微信扫码登录###",
"###attendanceSyncEnable": "是否启用考勤信息###",
"###attendanceSyncAgentId": "企业微信考勤打卡应用id###",
"###attendanceSyncSecret": "企业微信考勤打卡应用secret###"
}
token和encodingAesKey可以先填1,不然无法进行保存,对微信集成不会产生影响。
完成以上配置后重启O2OA,即可完成O2OA在企业微信中的接入,可以在企业微信 - 工作台中看到自己配置的企业应用。
注意一下企业微信同步通讯录Secret配置,由于企业微信本身的不同版本原因,如果配置corpSecret不行,请使用syncSecret。
syncSecret为如下图所示:
备注:O2OA集成到微信时,需要将O2OA的HTTPS开启。
五、从企业微信拉取组织人员数据
服务地址:http://localhost:20030/x_program_center/jest/index.html
服务名称:QiyeweixinAction.pullSync
如下图所示界面,点击GET之后,观察服务器控制台或者日志文件信息(o2server/logs),可以查看到同步日志。
不要多次点击GET,点击一次后,控制台会有,正在拉取组织人员信息相关的日志。