千家信息网

如何使用企业号实现文本、图片、文件、语音、视频、图文消息等消息的发送操作

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"如何使用企业号实现文本、图片、文件、语音、视频、图文消息等消息的发送操作",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用企
千家信息网最后更新 2026年11月01日如何使用企业号实现文本、图片、文件、语音、视频、图文消息等消息的发送操作

这篇文章主要为大家展示了"如何使用企业号实现文本、图片、文件、语音、视频、图文消息等消息的发送操作",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何使用企业号实现文本、图片、文件、语音、视频、图文消息等消息的发送操作"这篇文章吧。

1、企业号特点

对于企业号,有以下一些特点:

1)关注更安全

-只有企业通讯录的成员才能关注企业号,分级管理员、保密消息等各种特性确保企业内部信息的安全。

企业可以设置自行验证关注者身份,进行二次安全验证,保证企业信息使用和传递安全。

若员工离职,企业管理员可在通讯录中删除该成员,该成员即自动取消关注企业号,同时微信中的企业号历史记录也会被清除。

2)应用可配置

-企业可自行在企业号中可配置多个服务号,可以连接不同的企业应用系统,只有授权的企业成员才能使用相应的服务号。

3)消息无限制

-发送消息无限制,并提供完善的的管理接口及微信原生能力,以适应企业复杂、个性化的应用场景。

企业可以主动发消息给员工,消息量不受限制。

4)使用更便捷

-企业号在微信中有统一的消息入口,用户可以更方便地管理企业号消息。微信通讯录也可以直接访问企业号中的应用。

2、企业号的管理接口内容

目前企业号的内容可以用下面的分层图来展示,分别包含素材管理、被动响应消息、通讯录管理、自定义菜单等内容,详细可以看下面图示。

3、企业号消息和事件的处理

企业号和公众号一样,可以分为消息处理和事件处理,下面是他们两种类型的处理操作,也就发送的消息有文本消息、图片消息、文件消息、视频消息、语音消息、地理文字消息、图文和多媒体消息等。

事件处理主要就是关注、取消关注事件,以及菜单click类型和view类型两种操作,还有就是地理位置上报事件等。

两种类型的处理图如下所示。

4、企业号消息管理

在企业的管理后台,和公众号一样,可以看到对应信息交流记录,包括文字、图片、地理位置等等,如下所示。

由于消息分为几种类型,包括文本(Text)、图片(Image)、文件(File)、语音(Voice)、视频(Video)、图文消息等(News)、MpNews等。

因此我们需要分别对它们进行一定的定义和封装处理,如下是它们的信息对象设计图。

企业号发送消息的官方定义如下:

企业可以主动发消息给员工,消息量不受限制。

调用接口时,使用Https协议、JSON数据包格式,数据包不需做加密处理。

目前支持文本、图片、语音、视频、文件、图文等消息类型。除了news类型,其它类型的消息可在发送时加上保密选项,保密消息会被打上水印,并且只有接收者才能阅读。

我们以发送的文本消息为例进行说明,它的定义如下所示。

  • text消息

{   "touser": "UserID1|UserID2|UserID3",   "toparty": " PartyID1 | PartyID2 ",   "totag": " TagID1 | TagID2 ",   "msgtype": "text",   "agentid": "1",   "text": {       "content": "Holiday Request For Pony(http://www.php.cn/)"   },   "safe":"0"}
参数必须说明
touser否UserID列表(消息接收者,多个接收者用'|'分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
toparty否PartyID列表,多个接受者用'|'分隔。当touser为@all时忽略本参数
totag否TagID列表,多个接受者用'|'分隔。当touser为@all时忽略本参数
msgtype是消息类型,此时固定为:text
agentid是企业应用的id,整型。可在应用的设置页面查看
content是消息内容
safe否表示是否是保密消息,0表示否,1表示是,默认0

其中每种消息都会包含以下消息所示,也就是它们共同的属性:

    touser": "UserID1|UserID2|UserID3",   "toparty": " PartyID1 | PartyID2 ",   "totag": " TagID1 | TagID2 ",   "msgtype": "text",   "agentid": "1",

因此我们可以定义一个基类用来方便承载这些共同的信息。

    ///     /// 企业号发送消息的基础消息内容    ///     public class CorpSendBase    {              ///         /// UserID列表(消息接收者,多个接收者用'|'分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送        ///         public string touser { get; set; }        ///         /// PartyID列表,多个接受者用'|'分隔。当touser为@all时忽略本参数        ///         public string toparty { get; set; }        ///         /// TagID列表,多个接受者用'|'分隔。当touser为@all时忽略本参数        ///         public string totag { get; set; }        ///         /// 消息类型        ///         public string msgtype { get; set; }        ///         /// 企业应用的id,整型。可在应用的设置页面查看        ///         public string agentid { get; set; }        ///         /// 表示是否是保密消息,0表示否,1表示是,默认0        ///         [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]        public string safe { get; set; }    }

然后其他消息逐一继承这个基类即可,如下所示。

最终会构成下面这个继承关系图。

5、消息接口的定义和实现

定义好相关的发送对象后,我们就可以定义它的统一发送接口了,如下所示。

    ///     /// 企业号消息管理接口定义    ///     public interface ICorpMessageApi    {                ///         /// 发送消息。        /// 需要管理员对应用有使用权限,对收件人touser、toparty、totag有查看权限,否则本次调用失败。        ///         ///         ///         CommonResult SendMessage(string accessToken, CorpSendBase data);    }

最终,文本等类型的消息会根据接口定义进行实现,实现代码如下所示。注意,发送过程不需要调用加密类进行加密。

    ///     /// 企业号消息管理实现类    ///     public class CorpMessageApi : ICorpMessageApi    {        ///         /// 发送消息。        /// 需要管理员对应用有使用权限,对收件人touser、toparty、totag有查看权限,否则本次调用失败。        ///         ///         ///         public CommonResult SendMessage(string accessToken, CorpSendBase data)        {                    CommonResult result = new CommonResult();            string urlFormat = "http://www.php.cn/{0}";            var url = string.Format(urlFormat, accessToken);            var postData = data.ToJson();            //数据不用加密发送            CorpSendResult sendResult = CorpJsonHelper.ConvertJson(url, postData);            if (sendResult != null)            {                result.Success = (sendResult.errcode == CorpReturnCode.请求成功);                result.ErrorMessage = string.Format("invaliduser:{0},invalidparty:{1},invalidtag:{2}",                    sendResult.invaliduser, sendResult.invalidparty, sendResult.invalidtag);            }            return result;        }    }

6、消息的发送操作和实际效果

定义好相应的发送对象后,我们就可以进行统一的消息发送操作,包括文本、图片、文件、语音等等类型的消息,注意有些消息是需要上传到服务器上,然后在根据mediaId进行发送出去的。

发送文本和图片的操作代码如下所示。

        private void btnSendText_Click(object sender, EventArgs e)        {            //发送文本内容            ICorpMessageApi bll = new CorpMessageApi();            CorpSendText text = new CorpSendText("API 中文测试(http://www.php.cn/)");            text.touser = "wuhuacong";            text.toparty = "4";//部门ID            text.totag = "0";            text.safe = "0";            text.agentid = "0";            CommonResult result = bll.SendMessage(token, text);            if (result != null)            {                Console.WriteLine("发送消息:{0} {1} {2}", text.text.content, (result.Success ? "成功" : "失败"), result.ErrorMessage);            }        }        private void btnSendImage_Click(object sender, EventArgs e)        {            btnUpload_Click(sender, e);            if (!string.IsNullOrEmpty(image_mediaId))            {                //发送图片内容                ICorpMessageApi bll = new CorpMessageApi();                CorpSendImage image = new CorpSendImage(image_mediaId);                CommonResult result = bll.SendMessage(token, image);                if (result != null)                {                    Console.WriteLine("发送图片消息:{0} {1} {2}", image_mediaId, (result.Success ? "成功" : "失败"), result.ErrorMessage);                }            }        }

以上是"如何使用企业号实现文本、图片、文件、语音、视频、图文消息等消息的发送操作"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

消息 企业 管理 类型 应用 图片 文本 内容 处理 文件 语音 多个 接口 图文 视频 成员 事件 信息 参数 接收者 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融公司科技 互联网未来科技 天津摩尔互联网科技 新华互联网科技校企合作 哈尔滨新华互联网科技学院 剑昆互联网络科技有限公司临桂 互联网金融中的现代科技 武汉健翔互联网络科技有限公司 互联网科技商业 辽宁互联网新科技 广州市恰铎互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 想开互联网科技公司怎么样 洛阳共同富裕互联网科技有限公司 世界互联网领先科技成果获奖 国大互联网教育科技有限公司薪资 电子商务与互联网科技的关系 皮皮虾互联网科技有限公司 宇信科技在杭州互联网排第几 盐城市攀科互联网科技有限公司 科技互联网 互联网科技公司排名 互联网 的科技创新 隆华科技工业互联网 互联网校园科技培训 济南有互联网科技公司吗 中和天地互联网科技有限公司 无锡工业互联网科技有限公司 北京市互联网新科技 广东工业互联网大赛深圳学泰科技
0