1,在資料庫中,部署httpget和httppost CLR函數:《MS SQL SERVER操作API的GET和POST CLR》https://www.cnblogs.com/insus/p/15665449.html
2,在資料庫,建立2張表,存儲企業釘釘的一些靜态資料:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQDNzQTN4gTN5ETL1QTO4MTNwkDM5AjMxEjMwITL2MDM4IzLcJTMxIDMy8CX2MDM4IzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
以上2張表的資料,除了Access_Token和Acquisition_Time是動态擷取之外,其它均是靜态資料,需要手動填寫。
3,接下來Insus.NET寫一個存儲過程,即是傳入AgentId去擷取AppKey和AppSecret,這是為了擷取access_token前準備。
以上存儲過程擷取appkey和appsecret之後,就可以擷取access_token了。
再一個存儲過程,擷取釘釘的access_token:
其實,到現為止,我們應該知道,token是有頻率限制,但是它在2小時之内并沒有變化。
以下是一個自定義函數:
這個自定義函數,即是擷取存儲在Project有中token,擷取空,或是過期的,傳回的token為空。
最後,再寫一個存儲過程:
以上這個存儲過程,即是先從Project去擷取token。判斷是否為空。如果是空的,那得從釘釘去擷取。
釘釘擷取之後,把最新的token更新至project表中。
更新後,再次擷取token。
最最後,Insus.NET再寫一個存儲過程:
傳入基本參數,傳回結果。