asp.net微信开发中有关高级群发文本的示例分析
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,小编给大家分享一下asp.net微信开发中有关高级群发文本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先我们
千家信息网最后更新 2026年11月04日asp.net微信开发中有关高级群发文本的示例分析
小编给大家分享一下asp.net微信开发中有关高级群发文本的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
首先我们先来讲解一下群发文本信息的过程,我个人开发程序是首先要有UI才能下手去写代码,界面如下,
看图我们也可以看出首先我们要获取该微信号本月还能群发几条信息,关于怎么计算,就是群发成功一条信息,就在本地数据库存储一条信息,用来计算条数,(这个我相信都会),大于4条就不能发送(这里我已经限制死了,因为服务号每月只能发送4条,多发送也没用,用户只能收到4条,除非使用预览功能,挨个发送,但预览功能也只能发送100次,或许可能使用开发者模式下群发信息可以多发送N次哦,因为我群发了两次之后,再进入到微信公众平台官网后台看到的居然还能群发4条,有点郁闷哦!),群发对象可选择为全部用户或分组用户,和由于节省群发次数,这里我就不测试群发文字信息了,具体参考如下代码:
绑定本月剩余群发条数
////// 绑定本月剩余群发条数 /// private void BindMassCount() { WxMassService wms = new WxMassService(); Listwxmaslist = wms.GetMonthMassCount(); //官方微信服务号每月只能群发4条信息,(订阅号每天1条)多余信息,将不会成功推送,这里已经设定为4 this.lbMassCounts.Text = (4 - int.Parse(wxmaslist.Count.ToString())).ToString(); if (wxmaslist.Count >= 4) { this.LinkBtnSubSend.Enabled = false; this.LinkBtnSubSend.Attributes.Add("Onclick", "return confirm('群发信息已达上限!请下月初再试!')"); } else { this.LinkBtnSubSend.Enabled = true; this.LinkBtnSubSend.Attributes.Add("Onclick", "return confirm('您确定要群发此条信息??')"); } }
绑定分组列表
////// 绑定分组列表 /// private void BindGroupList() { WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string jsonres = ""; string content = Cache["AllGroups_content"] as string; if (content == null) { jsonres = "https://api.weixin.qq.com/cgi-bin/groups/get?access_token=" + Access_tokento; HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(jsonres); myRequest.Method = "GET"; HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); content = reader.ReadToEnd(); reader.Close(); //设置缓存的数据7000秒后过期 Cache.Insert("AllGroups_content", content, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } //使用前需要引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(content); int groupsnum = jsonObj["groups"].Count(); this.DDLGroupList.Items.Clear();//清除 for (int i = 0; i < groupsnum; i++) { this.DDLGroupList.Items.Add(new ListItem(jsonObj["groups"][i]["name"].ToString() + "(" + jsonObj["groups"][i]["count"].ToString() + ")", jsonObj["groups"][i]["id"].ToString())); } } ////// 选择群发对象类型,显示隐藏分组列表项 /// /// /// protected void DDLMassType_SelectedIndexChanged(object sender, EventArgs e) { if (int.Parse(this.DDLMassType.SelectedValue.ToString()) > 0) { this.DDLGroupList.Visible = true; } else { this.DDLGroupList.Visible = false; } }
群发
////// 群发 /// /// /// protected void LinkBtnSubSend_Click(object sender, EventArgs e) { //根据单选按钮判断类型,发送 ///如果选择的是文本消息 if (this.RadioBtnList.SelectedValue.ToString().Equals("0")) { if (String.IsNullOrWhiteSpace(this.txtwenben.InnerText.ToString().Trim())) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请输入您要群发文本内容!');", true); return; } if (this.txtwenben.InnerText.ToString().Trim().Length<10) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('文本内容至少需要10个字符以上!');", true); return; } WxMassService wms = new WxMassService(); Listwxmaslist = wms.GetMonthMassCount(); if (wxmaslist.Count >= 4) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('本月可群发消息数量已达上限!');", true); return; } else { //如何群发类型为全部用户,根据openID列表群发给全部用户,订阅号不可用,服务号认证后可用 if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { StringBuilder sbs = new StringBuilder(); sbs.Append(GetAllUserOpenIDList()); WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string posturl = "https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=" + Access_tokento; ///群发POST数据示例如下: // { // "touser":[ // "OPENID1", // "OPENID2" // ], // "msgtype": "text", // "text": { "content": "hello from boxer."} //} string postData = "{\"touser\":[" + sbs.ToString() + "],\"msgtype\":\"text\",\"text\":{\"content\":\"" + this.txtwenben.InnerText.ToString() + "\"}"; string tuwenres = wxs.GetPage(posturl, postData); //使用前需药引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(tuwenres); if (jsonObj["errcode"].ToString().Equals("0")) { //群发成功后,保存记录 WxMassInfo wmi = new WxMassInfo(); wmi.ImageUrl = ""; wmi.type = "文本"; wmi.contents = this.txtwenben.InnerText.ToString().Trim(); wmi.title = this.txtwenben.InnerText.ToString().Substring(0, 10) + "..."; if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { wmi.massObject = this.DDLMassType.SelectedItem.Text.ToString(); } else { wmi.massObject = this.DDLGroupList.SelectedItem.Text.ToString(); } wmi.massStatus = "成功";//群发成功之后返回的状态码 wmi.massMessageID = jsonObj["msg_id"].ToString();//群发成功之后返回的消息ID wmi.massDate = System.DateTime.Now.ToString(); int num = wms.AddWxMassInfo(wmi); if (num > 0) { Session["wmninfo"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据已保存!');location='WxMassManage.aspx';", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据保存失败!');", true); return; } } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务提交失败!!');", true); return; } } else { string group_id = this.DDLGroupList.SelectedValue.ToString(); WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string posturl = "https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=" + Access_tokento; ///群发POST数据示例如下: // { // "filter":{ // "is_to_all":false // "group_id":"2" // }, // "text":{ // "content":"CONTENT" // }, // "msgtype":"text" //} //} string postData = "{\"filter\":{\"is_to_all\":\"false\"\"group_id\":\"" + group_id + "\"},\"text\":{\"content\":\"" + this.txtwenben.InnerText.ToString() + "\"},\"msgtype\":\"text\"}"; string tuwenres = wxs.GetPage(posturl, postData); //使用前需药引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(tuwenres); if (jsonObj["errcode"].ToString().Equals("0")) { //群发成功后,保存记录 WxMassInfo wmi = new WxMassInfo(); wmi.ImageUrl = ""; wmi.type = "文本"; wmi.contents = this.txtwenben.InnerText.ToString().Trim(); wmi.title = this.txtwenben.InnerText.ToString().Substring(0, 10) + "..."; if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { wmi.massObject = this.DDLMassType.SelectedItem.Text.ToString(); } else { wmi.massObject = this.DDLGroupList.SelectedItem.Text.ToString(); } wmi.massStatus = "成功";//群发成功之后返回的状态码 wmi.massMessageID = jsonObj["msg_id"].ToString();//群发成功之后返回的消息ID wmi.massDate = System.DateTime.Now.ToString(); int num = wms.AddWxMassInfo(wmi); if (num > 0) { Session["wmninfo"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据已保存!');location='WxMassManage.aspx';", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据保存失败!');", true); return; } } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务提交失败!!');", true); return; } } } } //如果选择的是图文消息 if (this.RadioBtnList.SelectedValue.ToString().Equals("1")) { if (String.IsNullOrWhiteSpace(this.lbtuwenmedai_id.Text.ToString().Trim())) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请选择或新建图文素材再进行群发!');", true); return; } WxMassService wms = new WxMassService(); List wxmaslist = wms.GetMonthMassCount(); if (wxmaslist.Count >= 4) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('本月可群发消息数量已达上限!');", true); return; } else { //如何群发类型为全部用户,根据openID列表群发给全部用户,订阅号不可用,服务号认证后可用 if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { StringBuilder sbs = new StringBuilder(); sbs.Append(GetAllUserOpenIDList()); WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string posturl = "https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=" + Access_tokento; ///群发POST数据示例如下: // { // "touser":[ // "OPENID1", // "OPENID2" // ], // "mpnews":{ // "media_id":"123dsdajkasd231jhksad" // }, // "msgtype":"mpnews" //} string postData = "{\"touser\":[" + sbs.ToString() + "],\"mpnews\":{\"media_id\":\"" + this.lbtuwenmedai_id.Text.ToString() + "\"},\"msgtype\":\"mpnews\"}"; string tuwenres = wxs.GetPage(posturl, postData); //使用前需药引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(tuwenres); if (jsonObj["errcode"].ToString().Equals("0")) { Session["media_id"] = null; WxMassInfo wmi = new WxMassInfo(); if (Session["wmninfo"] != null) { WxMpNewsInfo wmninfo = Session["wmninfo"] as WxMpNewsInfo; wmi.title = wmninfo.title.ToString(); wmi.contents = wmninfo.contents.ToString(); wmi.ImageUrl = wmninfo.ImageUrl.ToString(); wmi.type = "图文"; if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { wmi.massObject = this.DDLMassType.SelectedItem.Text.ToString(); } else { wmi.massObject = this.DDLGroupList.SelectedItem.Text.ToString(); } wmi.massStatus = "成功";//群发成功之后返回的状态码 wmi.massMessageID = jsonObj["msg_id"].ToString();//群发成功之后返回的消息ID wmi.massDate = System.DateTime.Now.ToString(); int num = wms.AddWxMassInfo(wmi); if (num > 0) { Session["wmninfo"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据已保存!');location='WxMassManage.aspx';", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据保存失败!');", true); return; } } else { wmi.title = ""; wmi.contents = ""; wmi.ImageUrl = ""; wmi.type = "图文"; if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { wmi.massObject = this.DDLMassType.SelectedItem.Text.ToString(); } else { wmi.massObject = this.DDLGroupList.SelectedItem.Text.ToString(); } wmi.massStatus = "成功";//群发成功之后返回的状态码 wmi.massMessageID = jsonObj["msg_id"].ToString();//群发成功之后返回的消息ID wmi.massDate = System.DateTime.Now.ToString(); int num = wms.AddWxMassInfo(wmi); if (num > 0) { Session["wmninfo"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!图文部分数据已保存!');location='WxMassManage.aspx';", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据保存失败!');", true); return; } } } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务提交失败!!');", true); return; } } else { //根据分组进行群发,订阅号和服务号认证后均可用 string group_id = this.DDLGroupList.SelectedValue.ToString(); WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string posturl = "https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=" + Access_tokento; ///群发POST数据示例如下: // { // "filter":{ // "is_to_all":false // "group_id":"2" // }, // "mpnews":{ // "media_id":"123dsdajkasd231jhksad" // }, // "msgtype":"mpnews" //} string postData = "{\"filter\":{\"is_to_all\":\"false\"\"group_id\":\""+group_id+ "\"},\"mpnews\":{\"media_id\":\"" + this.lbtuwenmedai_id.Text.ToString() + "\"},\"msgtype\":\"mpnews\"}"; string tuwenres = wxs.GetPage(posturl, postData); //使用前需药引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(tuwenres); if (jsonObj["errcode"].ToString().Equals("0")) { Session["media_id"] = null; WxMassInfo wmi = new WxMassInfo(); if (Session["wmninfo"] != null) { WxMpNewsInfo wmninfo = Session["wmninfo"] as WxMpNewsInfo; wmi.title = wmninfo.title.ToString(); wmi.contents = wmninfo.contents.ToString(); wmi.ImageUrl = wmninfo.ImageUrl.ToString(); wmi.type = "图文"; if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { wmi.massObject = this.DDLMassType.SelectedItem.Text.ToString(); } else { wmi.massObject = this.DDLGroupList.SelectedItem.Text.ToString(); } wmi.massStatus = "成功";//群发成功之后返回的状态码 wmi.massMessageID = jsonObj["msg_id"].ToString();//群发成功之后返回的消息ID wmi.massDate = System.DateTime.Now.ToString(); int num = wms.AddWxMassInfo(wmi); if (num > 0) { Session["wmninfo"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据已保存!');location='WxMassManage.aspx';", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据保存失败!');", true); return; } } else { wmi.title = ""; wmi.contents = ""; wmi.ImageUrl = ""; wmi.type = "图文"; if (this.DDLMassType.SelectedValue.ToString().Equals("0")) { wmi.massObject = this.DDLMassType.SelectedItem.Text.ToString(); } else { wmi.massObject = this.DDLGroupList.SelectedItem.Text.ToString(); } wmi.massStatus = "成功";//群发成功之后返回的状态码 wmi.massMessageID = jsonObj["msg_id"].ToString();//群发成功之后返回的消息ID wmi.massDate = System.DateTime.Now.ToString(); int num = wms.AddWxMassInfo(wmi); if (num > 0) { Session["wmninfo"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!图文部分数据已保存!');location='WxMassManage.aspx';", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务已提交成功!!!数据保存失败!');", true); return; } } } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('群发任务提交失败!!');", true); return; } } } } }
发送前预览
////// 发送前预览 /// /// /// protected void LinkBtnSendPreview_Click(object sender, EventArgs e) { WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string posturl = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=" + Access_tokento; ///如果选择的是文本消息 if (this.RadioBtnList.SelectedValue.ToString().Equals("0")) { if (String.IsNullOrWhiteSpace(this.txtwenben.InnerText.ToString().Trim())) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请输入您要发送预览的文本内容!');", true); return; } if (this.txttoUserName.Value.ToString().Trim().Equals("请输入用户微信号")) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请输入接收消息的用户微信号!');", true); return; } //文本消息的json数据{ // "touser":"OPENID", 可改为对微信号预览,例如towxname:zhangsan // "text":{ // "content":"CONTENT" // }, // "msgtype":"text" //} string postData = "{\"towxname\":\"" + this.txttoUserName.Value.ToString() + "\",\"text\":{\"content\":\"" + this.txtwenben.InnerText.ToString() + "\"},\"msgtype\":\"text\"}"; string tuwenres = wxs.GetPage(posturl, postData); //使用前需药引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(tuwenres); if (jsonObj["errcode"].ToString().Equals("0")) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('发送预览成功!!');", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('发送预览失败!!');", true); return; } } //如果选择的是图文消息 if (this.RadioBtnList.SelectedValue.ToString().Equals("1")) { if(String.IsNullOrWhiteSpace(this.lbtuwenmedai_id.Text.ToString().Trim())) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请选择要预览的图文素材!');", true); return; } if (this.txttoUserName.Value.ToString().Trim().Equals("请输入用户微信号")) { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请输入接收消息的用户微信号!');", true); return; } //图文消息的json数据{ // "touser":"OPENID", 可改为对微信号预览,例如towxname:zhangsan // "mpnews":{ // "media_id":"123dsdajkasd231jhksad" // }, // "msgtype":"mpnews" //} string postData = "{\"towxname\":\"" + this.txttoUserName.Value.ToString() + "\",\"mpnews\":{\"media_id\":\"" + this.lbtuwenmedai_id.Text.ToString() + "\"},\"msgtype\":\"mpnews\"}"; string tuwenres = wxs.GetPage(posturl, postData); //使用前需药引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(tuwenres); if (jsonObj["errcode"].ToString().Equals("0")) { Session["media_id"] = null; ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('发送预览成功!!');", true); return; } else { ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('发送预览失败!!');", true); return; } } }
关键部分,获取全部用户的openID并串联成字符串:
////// 获取所有微信用户的OpenID /// ///protected string GetAllUserOpenIDList() { StringBuilder sb = new StringBuilder(); WeiXinServer wxs = new WeiXinServer(); ///从缓存读取accesstoken string Access_token = Cache["Access_token"] as string; if (Access_token == null) { //如果为空,重新获取 Access_token = wxs.GetAccessToken(); //设置缓存的数据7000秒后过期 Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } string Access_tokento = Access_token.Substring(17, Access_token.Length - 37); string jsonres = ""; string content = Cache["AllUserOpenList_content"] as string; if (content == null) { jsonres = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + Access_tokento; HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(jsonres); myRequest.Method = "GET"; HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse(); StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8); content = reader.ReadToEnd(); reader.Close(); //设置缓存的数据7000秒后过期 Cache.Insert("AllUserOpenList_content", content, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration); } //使用前需要引用Newtonsoft.json.dll文件 JObject jsonObj = JObject.Parse(content); if (jsonObj.ToString().Contains("count")) { int totalnum = int.Parse(jsonObj["count"].ToString()); for (int i = 0; i < totalnum; i++) { sb.Append('"'); sb.Append(jsonObj["data"]["openid"][i].ToString()); sb.Append('"'); sb.Append(","); } } return sb.Remove(sb.ToString().LastIndexOf(","),1).ToString(); }
以上是"asp.net微信开发中有关高级群发文本的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
成功
数据
任务
消息
缓存
用户
文本
图文
信息
文件
选择
信号
示例
状态
输入
内容
分组
服务
开发
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
喔噻互联网科技有限公司
互联网通讯科技
疫情对互联网科技公司影响
港股互联网科技股
华宇互联网科技
致骋互联网科技
鑫亿盛互联网科技
腾讯科技 互联网女皇
互联网科技视频素材
丰台科技园 互联网公司
银川新华互联网科技学校地址
苏州铭阳互联网科技有限公司
互联网科技年终奖
科技互联网行业投资研究
互联网领先科技活动
科技互联网经济论坛
玉溪新华互联网科技怎么选
北京品多多互联网科技有限公司
互联网科技创业计划的风险分析
恒生互联网科技趋势
互联网为科技
朗新科技与工业互联网
友谊互联网络科技
掌上梦互联网科技
居家互联网科技有限公司
常德市电业局互联网科技部
互联网科技公司实习生
乌鲁木齐新华智原互联网科技学校
张家口科技产业互联网平台
颐高云石互联网科技