本文实例讲述了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