博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
钉钉开发系列(十二)机器人
阅读量:5738 次
发布时间:2019-06-18

本文共 2327 字,大约阅读时间需要 7 分钟。

钉钉的每个群都可以建若干个机器人,有默认的比如github,也可以自定义。我们使用自定义,建立自己的机器人,然后得到一串的URL,只要向这个URL进行POST请求后,就能将消息通知到对应的群中。机器人的创建可以参照。

发送通知的代码如下

private string WEB_HOOK = "https://oapi.dingtalk.com/robot/send?access_token=XXXXX";        private void buttonTest_Click(object sender, EventArgs e)        {            try            {                string msg = textBox1.Text;                String textMsg = "{ \"msgtype\": \"text\", \"text\": {\"content\": \"" + msg + "\"}}";                string s = Post(WEB_HOOK, textMsg, null);                MessageBox.Show(s);            }            catch (Exception ex)            {                MessageBox.Show(ex.Message);            }        }        #region Post        ///         /// 以Post方式提交命令        ///         /// 请求的URL        /// 请求的json参数        /// 请求头的key-value字典        public static String Post(string apiurl, string jsonString, Dictionary
headers = null) { WebRequest request = WebRequest.Create(@apiurl); request.Method = "POST"; request.ContentType = "application/json"; if (headers != null) { foreach (var keyValue in headers) { if (keyValue.Key == "Content-Type") { request.ContentType = keyValue.Value; continue; } request.Headers.Add(keyValue.Key, keyValue.Value); } } if (String.IsNullOrEmpty(jsonString)) { request.ContentLength = 0; } else { byte[] bs = Encoding.UTF8.GetBytes(jsonString); request.ContentLength = bs.Length; Stream newStream = request.GetRequestStream(); newStream.Write(bs, 0, bs.Length); newStream.Close(); } WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); Encoding encode = Encoding.UTF8; StreamReader reader = new StreamReader(stream, encode); string resultJson = reader.ReadToEnd(); return resultJson; } #endregion
通知结果如下图

其他消息的类型的可以参照官方文档生成数据即可。

欢迎打描左侧二维码打赏。

转载请注明明出处。

转载于:https://www.cnblogs.com/sparkleDai/p/7604902.html

你可能感兴趣的文章
Spring 拦截器 学习
查看>>
Nginx Location配置总结
查看>>
数据库记录转换成json格式
查看>>
一致性哈希算法以及其PHP实现
查看>>
Golang通过Goroutine+Channel指定同时下载的数量
查看>>
多rsa密匙对应多git账户的配置
查看>>
submit is not a function
查看>>
Elasticsearch的快照
查看>>
Java 中 BigDecimal 的 equals() 与 compareTo() 的区别
查看>>
Linux防火墙 iptables详解
查看>>
[转]linux下find命令详解
查看>>
JavaScript程序执行顺序问题总结
查看>>
递归求和
查看>>
卑鄙的我——Despicable Me
查看>>
Apache Kylin Spark Cubing on Kubernetes 初探
查看>>
百度编辑器UEditor自定义工具栏Toolbars
查看>>
nodejs 完成mqtt服务端
查看>>
在ASP.NET MVC 中获取当前URL、controller、action
查看>>
Spring IoC容器初的初始化过程
查看>>
ScrollView has ambiguous scrollable content height
查看>>