如何将 O2OA 集成到企业微信实现微信办公

news2024/9/21 14:50:32

O2OA 平台拥有配套的原生开发的安卓和 IOS 移动 APP,可以以自建应用的方式集成到企业微信,同步企业微信的企业通讯录作为本地组织人员架构,并且可以将待办等通知直接推送到企业微信进行消息提醒。本篇主要介绍如何将 O2OA 集成到企业微信实现微信办公。

如果 O2OA 成功接入企业微信,O2OA 将会自动从企业微信拉取所有的人员和组织进行同步,O2OA 的所有人员和组织以企业微信中创建的组织架构为准( 本地已经创建的人员和组织将保留不会被删除,可能会造成人员和组织重复 )。

O2OA 接入企业微信建议先配置好企业微信应用,待组织和人员从企业微信同步完成后,再进行组织和人员的信息编辑,避免人员和组织信息的重复创建。

一、注册企业微信号(自行准备)

注册地址:https://work.weixin.qq.com/,此过程需要提供使用微信的企业相关信息。

二、获取企业 CorpId 信息

注册成功后,使用管理员账号登录企业微信,在 [我的企业] 信息最后一行可以获取企业的 CorpId,如下图所示:

我的企业信息

三、添加 O2OA 为企业微信自建应用

注册成功后,使用管理员账号登录企业微信,如下图所示:

企业微信管理控制台

点击 [应用与小程序],如下图所示界面:

应用与小程序

如上图所示,点击 [创建应用],继续在自建程序区域创建应用:

创建自建应用

填写好应用相关信息后进行应用创建:填写好应用相关信息后进行应用创建:

应用LOGO:可以自行制作合适大小的LOGO,此LOGO将在企业微信中展示。
应用名称:此应用的具体名称,可以随意命名,如O2OA,企业办公,XXOA都可以。
应用介绍:此应用的具体用途介绍。
可见范围:这个可见范围和同步通讯录有关系,这里请选择顶层组织。

应用创建完成后,如下图所示界面:

应用创建完成

您可以在界面中获取 AgentId 和 secret 信息,这两个信息以及之前获取的 CorpId 将配置到 O2OA 相关的接入配置中,请牢记此信息。

企业可信 IP

新版自建应用增加了企业可信 IP 配置,因为 O2OA 需要同步通讯录以及和企业微信进行单点认证,所以 O2OA 需要调用企业微信的 API,这时候需要在企业可信 IP 中配置你的 O2OA 服务器所在的外网 IP。否则,O2OA 将无法调用企业微信的 API 进行交互。

网页授权及 JS-SDK

应用创建完成后需要验证域名,也就是 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=1000004&#wechat_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,不配置这个参数也行,进入的是一个默认的待办列表页面。

四、获取 CorpSecret 信息

第三步创建应用后,里面有一个 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 的办公中心页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/536220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4年外包出来人废了,5次面试全挂....

我的情况 大概介绍一下个人情况,男,毕业于普通二本院校非计算机专业,18年跨专业入行测试,第一份工作在湖南某软件公司,做了接近4年的外包测试工程师,今年年初,感觉自己不能够再这样下去了&…

开心档之Java 抽象类

Java 抽象类 目录 Java 抽象类 抽象类 Employee.java 文件代码: AbstractDemo.java 文件代码: 继承抽象类 Salary.java 文件代码: AbstractDemo.java 文件代码: 抽象方法 Salary.java 文件代码: 抽象类总结…

2023海外网红营销策略揭秘:打造品牌曝光的7大技巧

随着全球互联网的普及,海外网红营销成为越来越多出海品牌的首选策略之一。然而,要在海外市场成功打造品牌形象并吸引目标受众并不容易。本文Nox聚星将详细介绍几项关键技巧,帮助您在海外市场中成功实施网红营销。 一、深入了解目标市场 在海…

如何避免软件bug?优化你的测试流程和设计用例方法就对啦!

目录 引言 一、测试流程 二、测试用例设计方法 等价类 边界值 场景设计法 判定表 错误推测法 结语 引言 对于大多数软件开发者和测试人员而言,避免出现bug是一项非常重要的任务。但是,在实际的开发过程中,我们经常容易忽略一些细节…

【Spring Boot】Spring Boot配置文件与Spring Boot日志文件

文章目录 1. 什么是Spring Boot?2. 如何创建Spring Boot项目?3. 验证Spring Boot项目的创建3.1 补充添加依赖3.2 代码示例 4. Spring Boot配置文件4.1 配置文件的作用4.2 配置文件的格式4.2.1 properties的语法4.2.2 yml的语法4.2.3 properties与yml的对…

性能测试工具的选购细节

近年来,随着软件技术的不断发展,为了保证软件系统的稳定性、可靠性和高效性,在软件开发过程中越来越多地使用性能测试工具。但是,如何选择一款合适的性能测试工具并不是一件容易的事情。下面是一些性能测试工具的选购细节&#xf…

Python学习笔记 - 探索5种数据类型

Python作为一门易学且功能强大的编程语言,吸引了众多编程爱好者。在学习Python的过程中,了解其数据类型是十分重要的。这里将向大家介绍Python中的五种常见数据类型,分别是:整数、浮点数、字符串、列表和字典,并且将通…

【华为新版模拟器eNSP Lite实验界面一览,赶紧来学习】

eNSP Lite是华为新开发的数据通信领域网络环境模拟软件,用于支持数通领域的考试认证、网络环境模拟和技术学习而开发的新版模拟器。相比于旧版模拟器eNSP的本地部署模式,新版模拟器eNSP Lite基于云端部署的模式使得软件在使用的过程中变得更加灵活&#…

使用Socket技术进行数据传输、传输文件;浏览器访问Socket服务器

文章目录 计算机网络基础IP地址和端口TCP和 UDP Socket技术使用Socket进行数据传输使用Socket传输文件使用浏览器访问Socket服务器 计算机网络基础 利用通信线路和通信设备,将地理位置不同的、功能独立的多台计算机互连起来,以功能完善的网络软件来实现…

Visual Studio 2022 v17.6 正式发布

Visual Studio 17.6 正式发布,这个最新版本提供了一系列强大的工具和功能,旨在使你能够制作出最先进的应用程序。 提高生产力 通过 Visual Studio 2022,目标是帮助你在更短的时间内完成 IDE 内的所有开发任务,在这个版本中&…

Vue3 QQ登录

Vue3 QQ登录 开发前需要去 QQ互联平台申请认证&#xff0c;创建应用 拿到对应的APPID、APPKey 一、引用QQjsdk 1、可直接引用 QQjsdk //绑定对应的APPID跟页面回调地址 <script type"text/javascript" charset"utf-8" src"https://connect.qq…

图像识别和计算机视觉:如何应用人工智能技术实现自动化检测和识别

章节一&#xff1a;引言 在数字化时代&#xff0c;图像数据成为了我们日常生活中不可或缺的一部分。然而&#xff0c;随着图像数据的急剧增加&#xff0c;传统的手动处理和分析方法已经无法满足我们的需求。这就引出了图像识别和计算机视觉技术的重要性。本文将介绍人工智能技…

程序员降薪40%去国企,只因要35岁了!值得吗?

说到程序员&#xff0c;大家首先想到的就是“高薪”&#xff0c;“有实力”&#xff0c;程序员是个比较吃香的职业&#xff0c;发展前景和薪资待遇都非常可观。 但是在程序员的世界里&#xff0c;一直有一个传言&#xff0c;35岁是技术人的天花板。这个观点&#xff0c;无意中…

君正X2000 Linux SDK

一、测试所用的硬件 深圳君正开发板&#xff1a;PD_X2000_EVB_CORE_V1P1 二、SDK源码下载 参考君正官方教程&#xff1a;君正全平台linux源码同步教程&#xff08;除X1830人脸识别板&#xff09;_君正a1n linux_北京君正的博客-CSDN博客 教程中要求的系统为Ubuntu20.4&#…

批量提取某音文案

牙叔教程 简单易懂 我想学习某个人的文案, 怎么把它的文案全下载下来? 批量下载视频和音频批量音频转文字 下载视频和音频 我在github找到的是这个仓库 GitHub - Johnserf-Seed/TikTokDownload: 抖音去水印批量下载用户主页作品、喜欢、图文、音频 经过实际测试, 可以使用,…

[FMC149】基于VITA57.1标准的16通道65MSPS 14位直流耦合AD采集FMC子卡

板卡概述 FMC149是一款16通道65MHz采样率14位直流耦合AD采集FMC子卡&#xff0c;符合VITA57.1规范&#xff0c;可以作为一个理想的IO模块耦合至FPGA前端&#xff0c;16通道AD通过FMC连接器&#xff08;HPC&#xff09;连接至FPGA从而大大降低了系统信号延迟。 该板卡支持板上可…

【STL】vector的模拟实现

目录 前言 结构解析 构造析构 构造 默认构造 初始化成 n 个 val 以迭代器区间构造 拷贝构造 析构 运算符重载 赋值重载 下标访问 迭代器 const迭代器 容量操作 查看大小和容量 容量修改 数据修改 尾插尾删 指定位置插入和删除 insert erase 清空 判空 …

Redis系列--主从复制

一、redis主从复制介绍 在 Redis 复制的基础上&#xff0c;使用和配置主从复制非常简单&#xff0c;能使得从 Redis 服务器&#xff08;下文称 slave&#xff09;能精确得复制主 Redis 服务器&#xff08;下文称 master&#xff09;的内容。每次当 slave 和 master 之间的连接断…

chatGpt 对前端的开发帮助

chatGpt 是 什么&#xff1f; ChatGPT是一个基于GPT-3的聊天机器人&#xff0c;可以用来帮助前端开发人员解决各种问题。它可以回答关于前端开发的各种问题&#xff0c;包括HTML、CSS、JavaScript、React、Vue等等。它可以提供代码片段、示例代码、文档链接等等&#xff0c;帮助…

javascript 创建 array

javascript 创建 array 补一下笔记&#xff0c;constructor 这块之前还真没怎么太琢磨过…… 最常见的就是 literal array syntax: const arr1 [1, 2, 3];console.log(arr1);这是最主流的用法&#xff0c;也是目前最推荐的用法&#xff0c;原因有以下几点&#xff1a; 这是…