Erik.Xue 发表于 2022-1-12 10:36:14

帮你打开活字格更神奇的功能:一百、对接企企云及获取数据解决方案

本帖最后由 Erik.Xue 于 2022-1-12 10:37 编辑

企企云,想必各位格友都有听过企企云,活字格经过一顿疯狂摸索,终于产出了对接企企云的解决方案,接下来就瞧好吧~
各位可以想了解详细初步对接企企云的可以先看下面这篇教程~

帮你打开活字格更神奇的功能:九十五、活字格对接企企云实现数据集成

对接企企云方案图:


目前,根据企企云提供的API接入文档,对接企企云有两种验证方式,对接活字格的方式的code模式,通过该模式验证身份,通过企企云的AWS鉴权后获取openid,使用密钥请求对应的接口拿到相应的数据,最后解析数据保存到数据表中。

1、 身份验证

为了从企企云获取相应的数据,首先要做的是验明调用企企云接口的人员身份。所以,企企云为了可以安全的提供数据,需要通过用户名、密码登录以及秘钥验证。我们可以从企企云后台中获得对应企业的accessKeyId和secretAccessKey,拿到这一对密钥后,按照企企云接入文档中请求获取openid的地址,并拼接对应的参数值。



参数说明说明
accessKeyId企企云密钥对;
grantTypecode模式,在确认授权后,前端会重定向到redirectUrl,返回的code值与requestId作为redirect的参数值;
requestId调用者指定,此值可任意指定;
redirectUrl调用者指定,确认授权后,页面会重定向到此Url,这个参数值填写上传的webapi地址http://发布后的域名地址/customapi/get77hubdata/getopenid。


拼接后的链接示例如下:       https://openapi.77hub.com/auth/openid?requestId=[任意填写]&accessKeyId=[密钥对]&grantType=code&redirectUrl=http://发布后的域名地址/customapi/get77hubdata/getopenid
       然后我们需要在活字格建立一张企企云配置表,表名为Config,表字段有ID,accessKeyId,
secretAccessKey,openid,service,region,redirecUrl。新建一条数据,并填写对应的值:

accessKeyId,对应的密钥对
secretAccessKey对应的密钥对
serviceexecute-api
regioncn-north-1
redirectUrl这里的redirectUrl填写成功获取openid后跳转的页面链接




接着在活字格设计器中上传webapi的两个dll文件:Aws4RequestSigner.dll和get77hubData.dll文件。

最后在活字格中可以使用页面跳转命令跳转到拼接好的链接:
运行活字格后点击按钮跳转到企企云的登录页面,输入企企云账号密码,选择对应的企业后,页面会在5s后自动跳转到Config表中redirectUrl的链接上。并且获取到openid后,将更新Config表中openid的值。
2、 调用接口
拿到openid后,意味着我们可以带着openid去请求企企云的接口了,我们将对应接口所需要的参数在活字格发送HTTP命令中拼接为多层次,如请求企企云list接口(查询数据接口)时,按照企企云文档给出的参数示例:
拼接方式如下图:

除拼接以上接口参数外,还需要使用设置变量命令从配置表Config中取出accessKey,secretKey,openid,region,service,requestUrl。

请求成功后会返回JSON格式的数据。
3、 解析数据

返回的数据格式如上图所示,严格来说返回的JSON数据格式较为复杂,分为多个层级(反斜线\是为了转义双引号)。最外几层的层级对于我们来说没有多少用处,所以我们真正需要的有效数据是list下的所有数据。那么就要借助活字格服务端命令中的【Json序列化命令】和【Json反序列化命令】命令。拿到请求接口返回的Json数据后,我们需要使用【Json反序列化命令】,将接口返回的Json数据反序列化为对象,从对象中取出第二层级的值,如此反复,直到取到需要层级的值,然后使用【数据表操作】命令循环将对应的值存入数据表中。


至此,我们就可以将对应返回的JSON数据解析到我们的主子表中啦~
看下图:







企企云对接获取openid
JSON解析企企云数据



页: [1]
查看完整版本: 帮你打开活字格更神奇的功能:一百、对接企企云及获取数据解决方案