C# 微信企业号--发送消息

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

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

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


本文将以发送text为例来讲解,如何发送微信企业号消息的

首先我们看下,接口文档:

发送接口说明

  • 请求说明

Https请求方式: POST

https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

  • 参数说明
参数 必须 说明
access_token 调用接口凭证
  • 权限说明

收件人必须处于应用的可见范围内,并且管理组对应用有使用权限、对收件人有查看权限,否则本次调用失败。

  • 返回结果

如果无权限,则本次发送失败;如果收件人不存在或未关注,发送仍然执行。两种情况下均返回无效的部分。

{
   "errcode": 0,
   "errmsg": "ok",
   "invaliduser": "UserID1",
   "invalidparty":"PartyID1",
   "invalidtag":"TagID1"
}

再看下text 的接口

text消息

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


理解后,我们写出自己的代码,主要代码见下:


     if (string.IsNullOrEmpty(richTextBoxText.Text))
            {
               MessageUtil.ShowTips("text消息内容不能为空!");
               return;
            }

            MsgTextContent msgtxtcontent = new MsgTextContent();
            msgtxtcontent.content = richTextBoxText.Text;

            MsgTextJson msgtxt = new MsgTextJson();
            msgtxt.touser = textBoxtouser.Text;
            msgtxt.toparty = textBoxtoparty.Text;
            msgtxt.totag = textBoxtotag.Text;
            msgtxt.msgtype = "text";
            msgtxt.agentid = "0";
            msgtxt.text = msgtxtcontent;
            msgtxt.safe = "0";

            IMsgInfo msginfo = new MsgInfo();
            MsgCommResult msgresult = msginfo.MsgSendText(accessToken, msgtxt);

            if (msgresult != null)
            {
                if (msgresult.errcode != "0")
                {
                    MessageUtil.ShowError("发送失败!" + msgresult.errmsg);
                    return;
                }
                else
                {
                    MessageUtil.ShowTips("发送成功!");
                }
            }

以下是发送的界面:


对于image、voice、video、file、news消息,大家结合接口文档,其中对于image、voice、video、file都要先上传 微信企业号服务器,具体可以看:

media_id 图片媒体文件id,可以调用上传临时素材或者永久素材接口获取,永久素材media_id必须由发消息的应用创建

http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E7%B4%A0%E6%9D%90%E6%96%87%E4%BB%B6


以上要用到主动调用 ,其中主动调用参考源码,下载地址



C# 微信企业号系列目录





©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值