# 如何通过ESB中心连接器中内置连接器开放平台接口实现数据同步的需求

来源快照：`result_data_new_260518.json`

- 来源 ID：`1258865574721314900`
- 模块：低代码平台e-builder
- 目录：动作流 - 场景搭建
- space ID：`1157961794811633670`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# **泛微e-cology10ESB中心应用场景专题介绍**

如何通过ESB中心连接器中内置连接器开放平台接口实现数据同步的需求

# **一、编写目的**

本文档主要详细介绍如何通内置连接器开放平台接口及定时任务将查询人员的信息数据同步到eb表单中。通过该文档帮助用户了解如何在使用内置连接器开放平台接口。

利用开放平台的人员查询-高级搜索接口获取其相关数据信息，再通过动作流的定时器将数据同步到eb表单中。实现该场景需要涉及到以下几个点：

1、

利用内置连接器开放平台注册接口、获取token接口以及获取人员查询-高级搜索接口获取到对应的人员信息数据；

2、

在低代码平台e-builder中建对应的应用和表单，需将查询到的数据同步更新插入到该表单中；

3、

通过定时器触发组件，开放平台获取人员信息数据同步到eb表单中。

# **二、支持版本**

Ecology 10.0版本

# 三、EB表单搭建

在低代码平台e-builder中搭建对应的EB表单，字段根据自己的需要进行配置

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262660496158679041&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

# **四、ESB中心相关配置**

##  第一步：配置连接器

由于开放平台接口在ESB中心的连接器的内置连接器中是已经存在的，所以无需在连接器中建接口，可直接在动作流中去搭建使用。

注：若该内置连接器中的接口没有你需要的接口，可以自行在内置连接器中添加需要的接口

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262659602814787587&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

## 第二步：搭建动作流

### 1、整体搭建所需组件

在ESB中心的动作流菜单中，新建动作流，整个动作流的配置需要用到 定时器 内置开放平台接口 更新表单数据组件

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262661166090297347&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262661226362757124&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262661312303734786&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262661398173655042&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

### 2、触发组件：简单定时器

简单定时器组件：触发组件选择简单定时器，定时评率以及开始时间可根据自己需求去配置

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262661844619943943&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

3、

### **开放平台接口：****（重点查看内容****）**

a、开放平台的接口是和开放平台的应用挂钩的，需要通过应用去获取相应的信息，若使用的开放平台的应用是需要认证的（即打开应用有app_key和app_secret就是需要认证的），则使用开放平台的逻辑接口是需要先获取code信息和获取对应的access_token才可以去执行相应的逻辑接口的，比如该场景用到的人员查询-高级搜索接口，在param中access_token是需要获取的，需要先获取code，再获取access_token，然后将access_token映射传值给人员查询-高级搜索接口param中access_token里面

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262671091919413251&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262663416611528706&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**注：无需获取code信息和access_token时，即应用的认证方式为无的时候可获取永久access_token，可看第六大块问题归纳中的问题1**

b、获取code信息：若使用的开放平台应用是需要认证的，则在使用开放平台的接口需要先通过获取code信息，再获取access_token的，获取code信息中的corpid需要在开放平台开发者资料中获取，response_type和state参数的值是固定的，分别为code和a-zA-Z0-9

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262667308052307970&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262664172672196610&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262664322950291457&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

c、获取accessToken信息：该接口中的app_key和app_secret需要从开放平台的应用管理中某个应用获取，code可从获取code信息接口的上下文中获取，grant_type参数的值是固定的，值为：authorization_code

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262667389531463681&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262665499699650561&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262665027231735810&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262665134619041794&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

C、人员查询-高级搜索：该接口中的Access_token可从上下文中的获取accessToken信息接口的响应参数中获取到，该接口的参数参数值为接口的逻辑参数，根据自己的需求对参数进行值的输入；该场景中这边仅配置获取第一页前30人的信息即可，配置如下：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262667466874429444&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262666556379045890&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262666659311837186&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262667020272721923&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

### 4、更新表单数据组件：

将人员查询-高级搜索查询到的人员信息更新插入到EB表单中，根据人员ID判断是否存在，存在就更新当前数据，不存在就插入；更新方式选择按字段匹配更新，依据值选择人员查询-高级搜索响应参数中的data，条件字段设置根据人员id去匹配，开启条件不满足时按设置新增数据开关

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262668222838398982&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262668355874250754&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262668643762577409&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

# 五、展示效果：

动作流保存启用后，到点触发该动作流后，可将人员查询-高级搜索接口获取到的人员数据同步更新插入到EB表单中。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262670159835701253&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

# 六、（重点查看内容）内置连接器开放平台接口常见问题归纳：

### **问题1：若开放平台的应用的认证方式是无时，则使用开放平台的业务逻辑接口时是否需要获取code信息和获取access_token**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262672350180876290&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 若开放平台应用的认证方式是无时，使用业务逻辑接口时无需获取code和access_token，直接使用无认证令牌的数据作为access_token参数值

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262673290849476609&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262673204816830472&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

### **问题2：执行开放平台接口时提示：应用没有权限访问接口**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262674128255393794&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262674038208258053&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**处理方案：** 使用的开放平台接口需要在开放平台的应用中添加该接口后才可以使用

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262674733967482881&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

### **问题3：执行开放平台接口时，执行失败发现该接口执行的地址不对或者显示为127.0.0.1时，如何修改该连接信息地址**

**处理方案：** 内置连接器中的默认的第一个连接是demo示例，很多时候是不能用的，需要在使用是各自自行创建自己的连接，建完后需要刷新下使用过接口的动作流，然后重新选择下连接，选择自己建好的正确的连接信息即可

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262675992380252160&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262676499174187012&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

### **问题4：动作流调用开放平台接口异常：javax.net.ssl.SSLException: Unsupported or unrecognized SSL message**

**处理方案：** 客户服务器没开启SSL协议支持，不支持https，新建一个http的链接，然后动作流中改为这个http的链接即可

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262678341794471938&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1262678449210597377&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)
