山西坦达清洁设备有限公司

现在的位置: 主页 > 新闻中心 > 文章列表

文章正文

.net微信公众号开发——群发消息

作者:山西坦达清洁设备有限公司 来源:www.sxtdqj.com 发布时间:2017-09-06 13:22:40
.net微信公众号开发——群发消息


本文将介绍微信公众号开发中用于群发消息的类MassMessage,包括:(1)MassMessage类;(2)群发;(3)删除;(4)预览;(5)查询发送状态;(6)接收推送群发结果事件。

1 MassMessage类
MassMessage静态类封装了群发消息相关的方法,如下表:

作用 方法名

群发 Send

删除 Delete

预览 Preview

查询发送状态 GetStatus

2 群发
公众号可以按用户分组群发消息,也可以按用户的OpenId列表来群发群发消息。
2.1 按用户分组群发消息
方法定义如下:


/// /// 根据分组群发消息 /// ///公众号 ///是否群发给所有用户 ///如果群发给所有用户,忽略该参数;否则群发给该组中的用户 ///群发消息类型 ///多媒体id或者文本内容 ///返回发送是否成功 /// 如果发送成功,返回消息ID;否则,返回-1。 public static long Send(string userName, bool isToAll, string groupId, MassMessageTypeEnum messageType, string mediaIdOrContent, out ErrorMessage errorMessage)

使用示例如下:

/// /// 按分组群发消息 /// /// /// protected void btnSendToGroup_Click(object sender, EventArgs e) { if (rblGroup.SelectedIndex >= 0) { string userName = lbPublicAccount.SelectedValue; ErrorMessage errorMessage; bool isToAll = string.IsNullOrWhiteSpace(rblGroup.SelectedValue); string groupId = isToAll ? : rblGroup.SelectedValue; string content = txtContent.Text; long msgId = MassMessage.Send(userName, isToAll, groupId, MassMessageTypeEnum.text, content, out errorMessage); if (errorMessage.IsSuccess) { ltrMessage.Text = 群发消息成功。; rblMassMessage.Items.Add(new ListItem(string.Format(id:{0},text:{1}, msgId, content), msgId.ToString())); } else ltrMessage.Text = string.Format(群发消息失败。{0}, errorMessage); } }

2.2 按OpenId列表群发

方法定义如下:


/// /// 根据OpenId列表群发消息 /// ///公众号 ///OpenId列表 ///群发消息类型 ///多媒体id或者文本内容 ///返回发送是否成功 /// 如果发送成功,返回消息ID;否则,返回-1。 public static long Send(string userName, IEnumerable tousers, MassMessageTypeEnum messageType, string mediaIdOrContent, out ErrorMessage errorMessage)

使用示例如下:

/// /// 按用户群发消息 /// /// /// protected void btnSendToUsers_Click(object sender, EventArgs e) { if (cblUser.SelectedIndex >= 0) { string userName = lbPublicAccount.SelectedValue; ErrorMessage errorMessage; List openIds = new List(); foreach (ListItem item in cblUser.Items) { if (item.Selected) openIds.Add(item.Value); } string content = txtContent.Text; long msgId = MassMessage.Send(userName, openIds, MassMessageTypeEnum.text, content, out errorMessage); if (errorMessage.IsSuccess) { ltrMessage.Text = 群发消息成功。; rblMassMessage.Items.Add(new ListItem(string.Format(id:{0},text:{1}, msgId, content), msgId.ToString())); } else ltrMessage.Text = string.Format(群发消息失败。{0}, errorMessage); } }

3 删除群发
删除已群发消息的方法定义如下:


/// /// 删除群发消息。 /// 注:只能删除图文消息和视频消息。 /// ///公众号 ///消息id /// 返回删除是否成功 public static ErrorMessage Delete(string userName, long messageId)

使用示例如下:

/// /// 删除群发消息 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (rblMassMessage.SelectedIndex >= 0) { string userName = lbPublicAccount.SelectedValue; long msgId = long.Parse(rblMassMessage.SelectedValue); ErrorMessage errorMessage = MassMessage.Delete(userName, msgId); if (errorMessage.IsSuccess) { ltrMessage.Text = 删除消息成功。; rblMassMessage.Items.Remove(rblMassMessage.SelectedItem); } else ltrMessage.Text = string.Format(删除消息失败。{0}, errorMessage); } }

4 预览群发
预览群发消息的方法定义如下:


/// /// 预览群发消息 /// ///公众号 ///OpenId ///群发消息类型 ///多媒体id或者文本内容 ///返回发送是否成功 /// 如果发送成功,返回消息ID;否则,返回-1。 public static long Preview(string userName, string touser, MassMessageTypeEnum messageType, string mediaIdOrContent, out ErrorMessage errorMessage)

使用示例如下:

/// /// 预览群发消息 /// /// /// protected void btnPreview_Click(object sender, EventArgs e) { if (cblUser.SelectedIndex >= 0) { string userName = lbPublicAccount.SelectedValue; ErrorMessage errorMessage; string openId = cblUser.SelectedValue; string content = txtContent.Text; long msgId = MassMessage.Preview(userName, openId, MassMessageTypeEnum.text, content, out errorMessage); if (errorMessage.IsSuccess) { ltrMessage.Text = 预览消息成功。; rblMassMessage.Items.Add(new ListItem(string.Format(id:{0},text:{1}, msgId, content), msgId.ToString())); } else ltrMessage.Text = string.Format(预览消息失败。{0}, errorMessage); } }

5 查询群发消息发送状态
查询群发消息发送状态的方法定义如下:


/// /// 查询群发消息的发送状态 /// ///公众号 ///消息id ///返回查询是否成功 /// 返回消息是否发送成功 public static bool GetStatus(string userName, long messageId, out ErrorMessage errorMessage)

使用示例如下:

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉SEO https://www.feimao666.com


COPYRIGHT © 2015 山西坦达清洁设备有限公司 ALL RIGHTS RESERVED.
网站地图 技术支持:肥猫科技
精彩专题:网站建设
购买本站友情链接、项目合作请联系客服QQ:2500-38-100