本文将介绍微信公众号开发中用于群发消息的类MassMessage,包括:(1)MassMessage类;(2)群发;(3)删除;(4)预览;(5)查询发送状态;(6)接收推送群发结果事件。 源代码地址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/tree/master/PublicAccount/MassMessage 演示地址:http://www.xrwang.net/Example/MassMessage.aspx
1 MassMessage类 MassMessage静态类封装了群发消息相关的方法,如下表:
作用 | 方法名 |
群发 | Send |
删除 | Delete |
预览 | PReview |
查询发送状态 | GetStatus |
2 群发 公众号可以按用户分组群发消息,也可以按用户的OpenId列表来群发群发消息。2.1 按用户分组群发消息 方法定义如下:
/// <summary>/// 根据分组群发消息/// </summary>/// <param name="userName">公众号</param>/// <param name="isToAll">是否群发给所有用户</param>/// <param name="groupId">如果群发给所有用户,忽略该参数;否则群发给该组中的用户</param>/// <param name="messageType">群发消息类型</param>/// <param name="mediaIdOrContent">多媒体id或者文本内容</param>/// <param name="errorMessage">返回发送是否成功</param>/// <returns>如果发送成功,返回消息ID;否则,返回-1。</returns>public static long Send(string userName, bool isToAll, string groupId, MassMessageTypeEnum messageType, string mediaIdOrContent, out ErrorMessage errorMessage)
使用示例如下:
[csharp]view plaincopy2.2%20按OpenId列表群发
%20%20方法定义如下:
/// <summary>/// 根据OpenId列表群发消息/// </summary>/// <param name="userName">公众号</param>/// <param name="tousers">OpenId列表</param>/// <param name="messageType">群发消息类型</param>/// <param name="mediaIdOrContent">多媒体id或者文本内容</param>/// <param name="errorMessage">返回发送是否成功</param>/// <returns>如果发送成功,返回消息ID;否则,返回-1。</returns>public static long Send(string userName, IEnumerable<string> tousers, MassMessageTypeEnum messageType, string mediaIdOrContent, out ErrorMessage errorMessage)
使用示例如下:
[csharp]view plaincopy3%20删除群发%20%20删除已群发消息的方法定义如下:
/// <summary>/// 删除群发消息。/// 注:只能删除图文消息和视频消息。/// </summary>/// <param name="userName">公众号</param>/// <param name="messageId">消息id</param>/// <returns>返回删除是否成功</returns>public static ErrorMessage Delete(string userName, long messageId)
使用示例如下:
[csharp]view plaincopy新闻热点
疑难解答