客户的成功,我们的骄傲

我们的上万家客户来自电信、电力能源、石油石化、冶金矿产、金融保险、制造、流通、服务、科教文卫、IT高科技、政府及公共服务等各个行业,他们靠自己的力量成功实现了企业管理信息化,请来分享他们的成功故事,还有,你也能!

WebApi 使用教程(进阶版)

请首先学习
官网教程“Excel服务器调用第三方WebApi”章节
其它参考

一、 WebApi的结构

1、 接口地址:http://www.xxx.com/xxx

2、 调用方法:GET、POST等

3、 请求参数

3.1 QueryParams(查询参数)
*请求地址中,问号后面的参数
3.2 Body (指Json参数)
*目前只支持json格式
3.3 Headers (请求头)
*请求头中需要的参数

4、 返回参数

*目前只支持json格式
*勾选了“返回参数存入数据库,每个子集都会创建成一个数据表,表名为子集名”,调用Api接口后,数据会保存到ES数据表。

5、 举例说明

*WebApi的全部属性需要在第三方Api文档中获取。 以下举例如何依照Api文档,定义一个WebApi:

例子1:

文档地址:https://docs.ekuaibao.com/docs/open-api/dimensions/batch-creat-dimension-items

例子2:

文档地址:https://open.dingtalk.com/document/orgapp-server/intelligent-personnel-query-the-list-of-on-the-job-employees-of-the

例子3:

文档地址:https://developer.work.weixin.qq.com/document/path/91039

二、 WebApi reader公式、write公式的区别

1、 相同点:组织请求数据后,调用定义好的WebApi,向第三方发送数据,然后把返回数据存储到ES的数据表中,二者都可以实现此功能。
2、 不同点:
2.1 reader公式算提数公式,除了会把Api接口返回的数据存储到ES数据表中,还可以往本报表填充,执行时机等属性与普通提数公式类似,多用于查询类的Api接口。
2.2 writer算回写公式,一般用于第三方的增、删、改Api接口,执行时机等属性与回写公式类似。

三、 几个常见使用实例

1、 token的获取及使用方法

文档地址:https://open.dingtalk.com/document/orgapp-server/obtain-orgapp-token

WebApi定义:(完全按照接口文档定义的WebApi)

表间公式定义:

公式1:在模板【在职员工列表】中定义一个WebApi Reader公式:
公式2:在模板【在职员工列表】中定义一个提数公式:
公式3:在模板【在职员工列表】中定义一个WebApi Reader公式:

定义过程分析:

公式3调用的WebApi需要使用token,而token要每两个小时获取一次,不能频繁获取。公式1 的作用是每隔两个小时,把最新的token刷新到ES中的数据表,公式2的作用是从ES数据表中获取最新的token供公式3使用。这3个公式应认为是一个组合,需要执行公式3时,需先执行公式1和公式2,才能保证token的正确性。

2、 第三方数据要求分页提取,利用筛选条件改变后的时机,多次调用

文档地址:https://open.dingtalk.com/document/orgapp-server/intelligent-personnel-query-the-list-of-on-the-job-employees-of-the
WebApi定义:(完全按照接口文档定义的WebApi)
模板中的辅助字段
表间公式定义:执行时机勾选“筛选条件改变后”

定义过程分析:

请先看一下上面两个图,Body参数中的offset、size参数,返回参数中的next_list参数的说明。
公式设置为新建打开时和筛选条件改变后执行,在新建打开后,第一次执行时传递的参数offset=0,size=50,假设返回结果中的next_list为50,这个 “50”填充到了模板的辅助字段,触发了第二次执行并满足执行条件,传递的参数offset=50,size=50,假设返回结果中的next_list为100,这个 “100”填充到了模板的辅助字段,触发了第三次执行并满足执行条件,传递的参数offset=100,size=50,假设返回结果中的next_list为空,这个“空”被条件取值替换成了-1填充到了模板的辅助字段,触发了第四次执行并不满足执行条件,执行停止。

3、 关于加密算法和一些函数的使用

文档地址:https://cloud.tencent.com/document/product/1095/42413#.E5.85.AC.E5.85.B1.E5.8F.82.E6.95.B0
WebApi定义:(完全按照接口文档定义的WebApi)
文档中要求的请求头参数(只列举了必填参数)
公式中为上述请求头参数赋值
以下为红圈中参数的说明
1、 固定值,可不填,参照前文。
2、 在开放平台中获取,此处存到了一个模板中,防泄露。
3、 Unix时间戳,在另外一个提数公式由函数获得,填充到了本报表,再由本报表赋值给请求头。执行了获取时间戳的公式后,超过5分钟再调用此WebApi会引起签名错误(Api文档中有说明)。
4、 随机正整数,利用Excel函数
5、 Api文档中的加密说明如下:
div>对应公式中的设置方法:
6、 在开放平台中获取,此处存到了一个模板中,防泄露。
7、 固定值。