客戶的成功,我們的驕傲

我們的上萬家客戶來自電信、電力能源、石油石化、冶金礦產(chǎn)、金融保險、制造、流通、服務(wù)、科教文衛(wèi)、IT高科技、政府及公共服務(wù)等各個行業(yè),他們靠自己的力量成功實現(xiàn)了企業(yè)管理信息化,請來分享他們的成功故事,還有,你也能!

WebApi 使用教程(進(jìn)階版)

請首先學(xué)習(xí)
官網(wǎng)教程“Excel服務(wù)器調(diào)用第三方WebApi”章節(jié)
其它參考

一、 WebApi的結(jié)構(gòu)

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

2、 調(diào)用方法:GET、POST等

3、 請求參數(shù)

3.1 QueryParams(查詢參數(shù))
*請求地址中,問號后面的參數(shù)
3.2 Body (指Json參數(shù))
*目前只支持json格式
3.3 Headers (請求頭)
*請求頭中需要的參數(shù)

4、 返回參數(shù)

*目前只支持json格式
*勾選了“返回參數(shù)存入數(shù)據(jù)庫,每個子集都會創(chuàng)建成一個數(shù)據(jù)表,表名為子集名”,調(diào)用Api接口后,數(shù)據(jù)會保存到ES數(shù)據(jù)表。

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公式的區(qū)別

1、 相同點:組織請求數(shù)據(jù)后,調(diào)用定義好的WebApi,向第三方發(fā)送數(shù)據(jù),然后把返回數(shù)據(jù)存儲到ES的數(shù)據(jù)表中,二者都可以實現(xiàn)此功能。
2、 不同點:
2.1 reader公式算提數(shù)公式,除了會把Api接口返回的數(shù)據(jù)存儲到ES數(shù)據(jù)表中,還可以往本報表填充,執(zhí)行時機(jī)等屬性與普通提數(shù)公式類似,多用于查詢類的Api接口。
2.2 writer算回寫公式,一般用于第三方的增、刪、改Api接口,執(zhí)行時機(jī)等屬性與回寫公式類似。

三、 幾個常見使用實例

1、 token的獲取及使用方法

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

WebApi定義:(完全按照接口文檔定義的WebApi)

表間公式定義:

公式1:在模板【在職員工列表】中定義一個WebApi Reader公式:
公式2:在模板【在職員工列表】中定義一個提數(shù)公式:
公式3:在模板【在職員工列表】中定義一個WebApi Reader公式:

定義過程分析:

公式3調(diào)用的WebApi需要使用token,而token要每兩個小時獲取一次,不能頻繁獲取。公式1 的作用是每隔兩個小時,把最新的token刷新到ES中的數(shù)據(jù)表,公式2的作用是從ES數(shù)據(jù)表中獲取最新的token供公式3使用。這3個公式應(yīng)認(rèn)為是一個組合,需要執(zhí)行公式3時,需先執(zhí)行公式1和公式2,才能保證token的正確性。

2、 第三方數(shù)據(jù)要求分頁提取,利用篩選條件改變后的時機(jī),多次調(diào)用

文檔地址:https://open.dingtalk.com/document/orgapp-server/intelligent-personnel-query-the-list-of-on-the-job-employees-of-the
WebApi定義:(完全按照接口文檔定義的WebApi)
模板中的輔助字段
表間公式定義:執(zhí)行時機(jī)勾選“篩選條件改變后”

定義過程分析:

請先看一下上面兩個圖,Body參數(shù)中的offset、size參數(shù),返回參數(shù)中的next_list參數(shù)的說明。
公式設(shè)置為新建打開時和篩選條件改變后執(zhí)行,在新建打開后,第一次執(zhí)行時傳遞的參數(shù)offset=0,size=50,假設(shè)返回結(jié)果中的next_list為50,這個 “50”填充到了模板的輔助字段,觸發(fā)了第二次執(zhí)行并滿足執(zhí)行條件,傳遞的參數(shù)offset=50,size=50,假設(shè)返回結(jié)果中的next_list為100,這個 “100”填充到了模板的輔助字段,觸發(fā)了第三次執(zhí)行并滿足執(zhí)行條件,傳遞的參數(shù)offset=100,size=50,假設(shè)返回結(jié)果中的next_list為空,這個“空”被條件取值替換成了-1填充到了模板的輔助字段,觸發(fā)了第四次執(zhí)行并不滿足執(zhí)行條件,執(zhí)行停止。

3、 關(guān)于加密算法和一些函數(shù)的使用

文檔地址:https://cloud.tencent.com/document/product/1095/42413#.E5.85.AC.E5.85.B1.E5.8F.82.E6.95.B0
WebApi定義:(完全按照接口文檔定義的WebApi)
文檔中要求的請求頭參數(shù)(只列舉了必填參數(shù))
公式中為上述請求頭參數(shù)賦值
以下為紅圈中參數(shù)的說明
1、 固定值,可不填,參照前文。
2、 在開放平臺中獲取,此處存到了一個模板中,防泄露。
3、 Unix時間戳,在另外一個提數(shù)公式由函數(shù)獲得,填充到了本報表,再由本報表賦值給請求頭。執(zhí)行了獲取時間戳的公式后,超過5分鐘再調(diào)用此WebApi會引起簽名錯誤(Api文檔中有說明)。
4、 隨機(jī)正整數(shù),利用Excel函數(shù)
5、 Api文檔中的加密說明如下:
div>對應(yīng)公式中的設(shè)置方法:
6、 在開放平臺中獲取,此處存到了一個模板中,防泄露。
7、 固定值。