# 集成到企业微信

{% hint style="info" %}

### 如果O2OA成功接入企业微信，O2OA将会自动从企业微信拉取所有的人员和组织进行同步，O2OA的所有人员和组织以企业微信中创建的组织架构为准（ 本地已经创建的人员和组织将保留不会被删除，可能会造成人员和组织重复 ）。 <a href="#h2_1" id="h2_1"></a>

{% endhint %}

> ### O2OA接入企业微信建议先配置好企业微信应用，待组织和人员从企业微信同步完成后，再进行组织和人员的信息编辑，避免人员和组织信息的重复创建。 <a href="#h2_2" id="h2_2"></a>

## 一、注册企业微信号（自行准备） <a href="#h1_3" id="h1_3"></a>

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

## 二、获取企业CropId信息 <a href="#h1_4" id="h1_4"></a>

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

![我的企业信息](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMXQVWf60y0YIYOMMh%2F-LpMXlQ1tuLmzYZAFrXO%2F07e2b7704784ec8927b4eb610fb8ea48b16.jpg?alt=media\&token=ef40815a-8439-4cd8-8587-5dd12be8643f)

## 三、获取CropSecret信息 <a href="#h1_4" id="h1_4"></a>

在管理工具 - 通讯录同步配置里进行API信息查询和配置

![管理工具](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMXQVWf60y0YIYOMMh%2F-LpMY5kxnrABRjt9EOAy%2Fecbe863bf8af5344779bdb5b47dde8379b6.jpg?alt=media\&token=d06b3ef2-8045-4682-8756-1579b27da752)

&#x20;配置同步方式、权限，并且获取Secret，该Secret就是后续需要配置到O2OA里的**CropSecret**信息:

![通讯录同步](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMXQVWf60y0YIYOMMh%2F-LpMYAs6POxvK7AzKbJe%2F70b5beddedcb09f336ef033644673dd8ccf.jpg?alt=media\&token=1ef6a023-728d-4fc2-8d43-e10452722598)

## 四、添加O2OA为企业微信自建应用 <a href="#h1_5" id="h1_5"></a>

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

![企业微信管理控制台](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMYIkW1Q6rc3ULqDy9%2F-LpMY_Rj9QuqOdk6Vvfd%2Fb1da324dd56723d2fd3ce88c061b00c97ef.jpg?alt=media\&token=30d85e71-26ff-4227-adfe-676b801bc26f)

点击\[应用与小程序]，如下图所示界面：

![应用与小程序](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMYIkW1Q6rc3ULqDy9%2F-LpMYkWeEnKKgJRxfgO3%2F28a23f72b07f86fdd975fd22bb689c8914d.jpg?alt=media\&token=e510cd0f-5df0-4bdb-9283-e92705aeec05)

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

![创建自建应用](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMYIkW1Q6rc3ULqDy9%2F-LpMYq95C-c00G2iNEao%2F829440fc2cbd56f13c6ebee3e0d27431981.jpg?alt=media\&token=db0b69bb-9b37-4017-ae63-767b5ec59c5a)

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

```
应用LOGO：可以自行制作合适大小的LOGO，此LOGO将在企业微信中展示。
应用名称：此应用的具体名称，可以随意命名，如O2OA，企业办公，XXOA都可以。
应用介绍：此应用的具体用途介绍。
可见范围：可使用此应用的人员范围设定，可以选择组织和个人成员。
```

应用创建完成后，如下图所示界面：

![应用创建完成](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMYIkW1Q6rc3ULqDy9%2F-LpMZ5wCUt3ZYm2rK-CK%2F4627af194ba3a85652d778572c5ea851ce0.jpg?alt=media\&token=12765a10-19be-4c0f-a879-70abb1d86da7)

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

### &#x20;**网页授权及JS-SDK**

授权文件放置路径：o2server/servers/webServer/

### &#x20;**工作台应用主页**

> [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](https://www.o2oa.net)

其中：

```
appid : 企业的corpId
host : O2OA服务器提供服务的域名
port : O2OA服务器提供服务的端口
AgentId : 应用的agentId
```

{% hint style="info" %}
&#x20;**redirect\_uri参数需要使用urlencode进行编码，不然会遇到50001错误，redirect\_uri不是可信域名。**

**这个url是：**[**http://\[host\]:\[port\]/x\_desktop/qiyeweixinsso.html?redirect=portalmobile.html?id=\*\*\*\*\*\*\*\*\*\*\*\***](https://www.o2oa.net) **这样的形式。后面跟了一个redirect参数，就是需要跳转到一个门户页面，id就是门户的id，不配置这个参数也行，进入的是一个默认的待办列表页面。**
{% endhint %}

## 五、O2OA接入配置 <a href="#h1_6" id="h1_6"></a>

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": "",
  "corpSecret": "",
  "agentId": "",
  "token": "",
  "encodingAesKey": "",
  "messageEnable": true
}
```

参数说明：

```
"enable": "是否启用企业微信接入: true | false",
"syncCron": "拉入同步时间表达式, 默认每10分钟同步一次(10 0/10 * * * ?).",
"forceSyncCron": "强制拉入同步cron, 默认在每天的8点和12点强制进行同步(10 45 8,12 * * ?)",
"apiAddress": "企业微信api服务器地址, https://qyapi.weixin.qq.com",
"corpId": "企业微信参数corpId（从企业微信后台管理信息中获取 '企业ID'）",
"corpSecret": "企业微信参数corpSecret（从企业微信后台管理信息中获取 'Secret'）",
"agentId": "企业微信参数agentId（从企业微信后台管理信息中获取 'AgentId'）",
"messageEnable": "是否允许推送消息到企业微信: true | false"
```

{% hint style="info" %}
&#x20;**token**和**encodingAesKey**可以先填1，不然无法进行保存，对微信集成不会产生影响。
{% endhint %}

完成以上配置后重启O2OA，即可完成O2OA在企业微信中的接入，可以在企业微信 - 工作台中看到自己配置的企业应用。

![企业微信工作台](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpMZwLBq4_VmRJ2Of8N%2F-LpM_OgM8XnVJldWjHkm%2F69cc9d7766cfc9e405a3c4a57426c23c3e6.jpg?alt=media\&token=b83c2ae3-dc6b-46af-b391-fd13efeaa362)

{% hint style="info" %}
&#x20;**O2OA集成到微信时，需要将O2OA的HTTPS开启。方法请参考**[**《如何配置O2OA服务器来启用HTTPS（SSL）》**](https://my.oschina.net/u/3931542/blog/2999285)
{% endhint %}

## **六**、手工从企业微信拉取组织人员数据 <a href="#h1_7" id="h1_7"></a>

&#x20;服务地址：http\://**localhost**:20030/x\_program\_center/jest/index.html

服务名称：QiyeweixinAction.pullSync

如下图所示界面，点击GET之后，观察服务器控制台或者日志文件信息（o2server/logs），可以查看到同步日志。

{% hint style="info" %}
&#x20;**不要多次点击GET，**&#x70B9;击一次后，控制台会有，正在拉取组织人员信息相关的日志。
{% endhint %}

![中心服务器API界面](https://3148786149-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmN_rNQCcekD6lUTyjN%2F-LpM_X2T8d9dbnkizr8C%2F-LpMa82KbsXjIw9ly_cp%2FQQ%E6%88%AA%E5%9B%BE20190922141109.png?alt=media\&token=d724fbe8-b1e8-45ca-be31-981a34462e6f)
