钉钉开发系列(十二)机器人
来源:互联网 发布:音乐推荐算法 lr gbdt 编辑:程序博客网 时间:2024/04/28 07:47
钉钉的每个群都可以建若干个机器人,有默认的比如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 /// <summary> /// 以Post方式提交命令 /// </summary> /// <param name="apiurl">请求的URL</param> /// <param name="jsonString">请求的json参数</param> /// <param name="headers">请求头的key-value字典</param> public static String Post(string apiurl, string jsonString, Dictionary<String, String> 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通知结果如下图
其他消息的类型的可以参照官方文档生成数据即可。
欢迎打描左侧二维码打赏。
转载请注明明出处。
0 0
- 钉钉开发系列(十二)机器人
- 钉钉开发系列(十三)SVN机器人通知
- 钉钉机器人
- 钉钉自定义机器人
- 钉钉开发系列(二)结构封装
- 钉钉开发系列(六)WebApi
- 钉钉开发系列(十一)钉钉网页扫码登录
- 钉钉机器人自动提醒
- jenkins 集成钉钉机器人
- 钉钉开发系列(九)SaltUI在VS中的开发
- 钉钉开发系列(一)access_token的获取
- 钉钉开发系列(三)API的调用
- 钉钉开发系列(四)获取JS票据
- 钉钉开发系列(五)生成签名包
- 钉钉开发系列(七)媒体文件的上传与下载
- 钉钉开发系列(八)二维码扫描登录的实现
- 钉钉开发系列(十)SaltUI与WebApi交互
- C# 钉钉系列目录
- python GUI编程(Tkinter)
- 故障管理工单流程总结
- 于娟:为啥是我得癌症?
- Hadoop读写文件时内部工作机制
- 计算机基础知识:什么是位、字节、字、KB、MB
- 钉钉开发系列(十二)机器人
- 矩阵核范数极小化问题的交替方向法部分推导
- 对韦东山老师移植最新uboot的总结
- 有关 ovirt 的分析
- USB BC1.2的三种端口
- LinkedHashMap及其源码分析
- 多态性与虚拟函数一个典型的例子第一步
- 无线相关知识
- 访问接口异常unable to find valid certification path to requested target