如何將釘釘集成到FineReport插件中
報(bào)表服務(wù)器
安裝釘釘管理插件后,打開報(bào)表管理平臺(tái),管理系統(tǒng)下會(huì)增加釘釘管理節(jié)點(diǎn),釘釘相關(guān)的配置管理都將會(huì)放在這個(gè)節(jié)點(diǎn)中去配置:
同時(shí),設(shè)置定時(shí)任務(wù)的最后一步輸出設(shè)置中,會(huì)增加推送釘釘消息:
釘釘企業(yè)應(yīng)用
管理員登錄釘釘企業(yè)號(hào),進(jìn)入微應(yīng)用設(shè)置,需要關(guān)注的信息有:
CorpID:是企業(yè)在釘釘中的標(biāo)識(shí),每個(gè)企業(yè)擁有一個(gè)唯一的CorpID;
CorpSecret:是企業(yè)每個(gè)應(yīng)用的憑證密鑰
- 釘釘管理
登錄FineReport管理平臺(tái),點(diǎn)擊管理系統(tǒng)>釘釘管理節(jié)點(diǎn):將釘釘中的CorpID和CorpSecret分別填到釘釘企業(yè)號(hào)ID和管理組憑證密碼中,設(shè)置Token獲取路徑,可以自定義獲取的url,如果不寫則采用內(nèi)置的方式獲取,保存,如下圖:
- 釘釘插件自定義token獲取
釘釘提供的獲取token接口本身有缺陷:
1)釘釘提供的接口,使用corpid和secret獲取token,默認(rèn)不會(huì)緩存,但是釘釘提倡做token緩存,2小時(shí)內(nèi)可以重復(fù)使用,這樣減少對(duì)釘釘服務(wù)器的訪問(wèn),以免出現(xiàn)問(wèn)題;
2)釘釘中集成多個(gè)應(yīng)用的話,如果多個(gè)應(yīng)用都會(huì)用到corpid和secret獲取token,如果某個(gè)應(yīng)用緩存了token,就會(huì)沖突
例如:應(yīng)用a,做了緩存,第一次訪問(wèn)后獲取到token1,應(yīng)用b使用會(huì)重新取token2,此時(shí)應(yīng)用a還是用的token就無(wú)法訪問(wèn)了。
針對(duì)這種情況,處理方式是所有應(yīng)用統(tǒng)一到一個(gè)地方去取token,此時(shí)需要設(shè)置自定義token的獲取地址
在釘釘插件中,釘釘管理>基本信息>設(shè)置Token獲取路徑,可以自定義獲取的url,如果不寫則采用內(nèi)置的方式獲取
Token獲取接口規(guī)則:返回json類型的數(shù)據(jù),{access_token:"xxxxx", jsapi_ticket:"xxxxx"}
釘釘管理后臺(tái)創(chuàng)建FineReport報(bào)表微應(yīng)用時(shí),例如http://www.finereporthelp.com:8181/app2/ReportServer?op=fs&corpid=$CORPID$,后面要加上參數(shù)&corpid=$CORPID$,這樣后臺(tái)會(huì)獲取到cropid,然后取到釘釘userid,做單點(diǎn)登錄;
- 釘釘用戶與報(bào)表用戶關(guān)聯(lián)
按照釘釘提供的方法,讀取釘釘通訊錄的成員,需要的字段有uesrid,name,department進(jìn)入FineReport報(bào)表管理平臺(tái)fs,點(diǎn)擊釘釘管理節(jié)點(diǎn),除了基本信息外,增加了釘釘成員管理,點(diǎn)擊效果如下:
表格中會(huì)自動(dòng)讀取釘釘企業(yè)號(hào)通訊錄中的所有成員,并且在每次打開該頁(yè)面時(shí)刷新為最新的;默認(rèn)釘釘成員與報(bào)表用戶相同,因?yàn)榇蟛糠智闆r下,釘釘成員名和報(bào)表用戶名是統(tǒng)一的;
如果您的釘釘成員名與報(bào)表用戶名是不一樣的,此時(shí),可以取消勾選釘釘成員與報(bào)表用戶相同設(shè)置,此時(shí)報(bào)表用戶名,可以將釘釘成員與報(bào)表用戶進(jìn)行關(guān)聯(lián),如下圖:
- 單點(diǎn)登錄
釘釘提供免登服務(wù),與微信類似,通過(guò)code可以獲取當(dāng)前取號(hào)的userid,獲取到userid后,通過(guò)關(guān)聯(lián)關(guān)系自動(dòng)登錄報(bào)表后臺(tái)
- 消息推送
開發(fā)服務(wù)器可以主動(dòng)的發(fā)送消息給企業(yè)成員,比如使用FineReport定時(shí)器生成報(bào)表后,發(fā)送消息給相應(yīng)的人員進(jìn)行查看。進(jìn)入FineReport管理平臺(tái),添加定時(shí)任務(wù):
到輸出設(shè)置這步,比如我們將定時(shí)生成的結(jié)果掛在其他這個(gè)目錄下面,并且命名為釘釘文檔測(cè)試:
通知與存檔選擇推送釘釘消息,企業(yè)應(yīng)用(AgentID)需要根據(jù)釘釘管理里的進(jìn)行填寫,例如下設(shè)置,這樣定時(shí)任務(wù)結(jié)束后,這個(gè)釘釘成員可以收到消息
定時(shí)生成結(jié)果的文件名:對(duì)應(yīng)發(fā)送消息的標(biāo)題名
企業(yè)應(yīng)用AgentID:發(fā)消息至哪個(gè)應(yīng)用
釘釘用戶:發(fā)消息給哪些成員,下拉框中會(huì)自動(dòng)讀取釘釘通訊錄中的所有成員,多個(gè)成員之間用|分割,比如Jane|Saber
部門ID:發(fā)消息給某個(gè)部門的所有成員,該屬性與釘釘用戶是并的關(guān)系,不同部門之間也用|分割
消息內(nèi)容:定義消息的正文內(nèi)容
定時(shí)結(jié)果訪問(wèn)連接:勾選的話會(huì)在消息正文最后加上定時(shí)生成的結(jié)果連接,點(diǎn)擊后就可以直接打開定時(shí)結(jié)果;不選的話則只發(fā)送純文本消息。
定時(shí)任務(wù)設(shè)置好后,比如任務(wù)每天都會(huì)執(zhí)行,每次執(zhí)行后就會(huì)推送消息給對(duì)應(yīng)的成員,效果如下:
點(diǎn)擊連接,就可以看到定時(shí)生成的結(jié)果。
posted on 2017-03-14 11:21 喝水居然長(zhǎng)肉 閱讀(170) 評(píng)論(0) 編輯 收藏