本文實例講述了C#實現推送釘釘消息的方法。分享給大家供大家參考,具體如下:
利用釘釘提供的API可以推送消息到用戶的釘釘app。根據釘釘的官方文檔,調用釘釘的api需要一個AccessToken,我們先獲取這個AccessToken。
1
2
3
4
5
6
|
string CorpId = "你的CorpId " ; string CorpSecret = "你的CorpSecret " ; public string AccessToken = "" ; string AccessUrl = string .Format( "https://oapi.dingtalk.com/gettoken?corpid={0}&corpsecret={1}" , CorpId, CorpSecret); Newtonsoft.Json.Linq.JToken json = Newtonsoft.Json.Linq.JToken.Parse(HttpGet(AccessUrl)); AccessToken = json[ "access_token" ].ToString(); |
這里利用到了Newtonsoft.Json類解析返回來的json數據,用法網上很多資料可以查找到。HttpGet是我封裝好的一個類,可以在這篇《C#基于HttpWebRequest實現發送HTTP請求的方法》查看,下面的HttpPost也是如此。
有了AccessToken,我們就可以調用釘釘的api了,發送推送的相關api 在,文檔已經寫得很清晰了,我們只需要發送一個json格式的數據過去,就可以推送數據了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
string MessageUrl = "https://oapi.dingtalk.com/message/send?access_token=" + AccessToken; var json_req = new { touser = "用戶id1|用戶id2" , //接受推送userid,不同用戶用|分割 toparty = "" , //接受推送部門id agentid = "1" , msgtype = "text" , //推送類型 text = new { content = "要推送的內容" } }; string jsonRequest = JsonConvert.SerializeObject(json_req); //將對象轉換為json HttpPost(MessageUrl, jsonRequest); |
其中HttpPost是我已經封裝好的一個類,需要注意的是,agentid指的是以哪個應用的身份推送消息,這個id可以在釘釘管理后臺的應用里面查看得到。
最后的效果:
希望本文所述對大家C#程序設計有所幫助。
原文鏈接:https://blog.csdn.net/qq_41731938/article/details/82689827