1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 调用钉钉接口消息推送

调用钉钉接口消息推送

时间:2022-12-23 22:38:06

相关推荐

调用钉钉接口消息推送

首先登陆钉钉开发者后台 https://ding-/ 选择H5微应用,创建应用 创建好之后,查看所建好的应用信息(其中AgentId,AppKey,AppSecret很重要,调用时需要用到) 设定白名单访问地址,当前网络的公网IP 效果如下 源码---->首先下载官方的开发Dome /document/app/download-the-server-side-sdk/title-12y-g4g-zn2代码如下

static string DingAppkey = "ding0ctjh9dm6f4balqm";//钉钉 应用的唯一标识keystatic string DingAppsecret = "X02oBxovq87mrj1Yzvu4kkOs6Jb8eAOhaQ40ZnLmy_nxV1zytLrrymnoBu4ILbZD";//钉钉 应用的密钥public static string dingAccessToken = "1236822342"; //钉钉接口调用凭证static void Main(string[] args){//if (args == null || args.Length < 2)//{// Console.WriteLine("请输入机器人票据和通知内容");// return;//}TimeSpan interval = DateTime.Now.Subtract(Convert.ToDateTime("-07-27").AddMinutes(50));interval = Convert.ToDateTime("-07-27").AddMinutes(50).Subtract(DateTime.Now);double Minutes = interval.TotalMinutes;if (Minutes <= 10){}if (Minutes <= 0){}var token = GetDingAccessToken();var userid = GetUser(token, "18899792310");var msg = "test";var result = Notify(token, userid, msg);Console.WriteLine(result);}#region 钉钉接口/// <summary>/// 发送消息/// </summary>/// <param name="token"></param>/// <param name="userid"></param>/// <param name="msg"></param>/// <returns></returns>public static string Notify(string token, string userid, string msg){string MessageUrl = "/message/send?access_token=" + token;var json_req = new{touser = userid, //接受推送userid,不同用户用|分割toparty = "", //接受推送部门idagentid = "1236822342",msgtype = "text", //推送类型text = new{content = "测试数据\n" + DateTime.Now}};string jsonRequest = JsonConvert.SerializeObject(json_req);//将对象转换为jsonreturn Post(MessageUrl, jsonRequest);}/// <summary>/// 手机号获取userid/// </summary>/// <param name="access_token"></param>/// <param name="Mobile"></param>/// <returns></returns>public static string GetUser(string access_token, string Mobile){IDingTalkClient client = new DefaultDingTalkClient("/topapi/v2/user/getbymobile");OapiV2UserGetbymobileRequest req = new OapiV2UserGetbymobileRequest();req.Mobile = Mobile;OapiV2UserGetbymobileResponse rsp = client.Execute(req, access_token);return rsp.Result.Userid;}/// <summary>/// 获取access_token/// </summary>/// <returns></returns>public static string GetDingAccessToken(){string access_token = string.Empty;try{string accessToken = string.Empty;DefaultDingTalkClient client = new DefaultDingTalkClient("/gettoken");OapiGettokenRequest request = new OapiGettokenRequest();request.Appkey = DingAppkey;//钉钉 应用的唯一标识keyrequest.Appsecret = DingAppsecret;//钉钉 应用的密钥request.SetHttpMethod("GET");OapiGettokenResponse response = client.Execute(request);access_token = response.AccessToken;}catch (Exception ex){}return access_token;}#endregion#region Post /// <summary> /// 以Post方式提交命令 /// </summary> /// <param name="apiurl">请求的URL</param> /// <param name="jsonString">请求的json参数</param> /// <param name="headers">请求头的key-value字典</param> private 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

源码下载链接:/download/qq_37192571/20620584

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。