第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 微信企业号开发:主动发送消息

微信企业号开发:主动发送消息

时间:2022-08-30 12:31:41

相关推荐

微信企业号开发:主动发送消息

主企业号主动发送消息,也就是企业号主动推送的消息,适合于企业的通知,通告等。因此如果公司有通知,要求通知到所有员工,就应该使用主动发送消息。

格式是json格式,而且微信很灵活,当touser,toparty,totag的json值是null时,微信服务器主动忽略了。原来还担心,如果是null,在生成json格式时如何忽略掉是null的字段。

核心基本类:

[csharp]view plaincopypublicclassMsgBase { publicMsgBase() { this.safe="0";//表示是否是保密消息,0表示否,1表示是,默认0 } ///<summary> ///UserID列表(消息接收者,多个接收者用‘|’分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送 ///</summary> publicstringtouser{get;set;} ///<summary> ///PartyID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 ///</summary> publicstringtoparty{get;set;} ///<summary> ///TagID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数 ///</summary> publicstringtotag{get;set;} ///<summary> ///消息类型 ///</summary> publicstringmsgtype{get;set;} ///<summary> ///企业应用的id,整型。可在应用的设置页面查看 ///</summary> publicintagentid{get;set;} ///<summary> ///表示是否是保密消息,0表示否,1表示是,默认0 ///</summary> publicstringsafe{get;set;} }

[csharp]view plaincopypublicstaticclassMsgType { publicenumMsgBaseEnum { Text=1, image=2, voice=3, video=4, file=5, news=6, mpnews=7 }; publicstaticstringGetMsgTypeText(MsgBaseEnumtype) { stringtext=""; switch(type) { caseMsgBaseEnum.Text: text="text"; break; caseMsgBaseEnum.image: text="image"; break; caseMsgBaseEnum.voice: text="voice"; break; caseMsgBaseEnum.video: text="video"; break; caseMsgBaseEnum.file: text="file"; break; caseMsgBaseEnum.news: text="news"; break; caseMsgBaseEnum.mpnews: text="mpnews"; break; default: thrownewException("type="+type+",此类型的消息没有实现"); } returntext; } }

文字类型的消息[csharp]view plaincopypublicclassTextMsg:MsgBase { publicTextMsg(stringcontent) { this.text=newTextMsgContent(content); this.msgtype=MsgType.GetMsgTypeText(MsgType.MsgBaseEnum.Text); } publicTextMsgContenttext{get;set;} } publicclassTextMsgContent { publicTextMsgContent(stringcontent) { this.content=content; } publicstringcontent{get;set;} }

发送消息[csharp]view plaincopypublicstaticclassBLLMsg { publicstaticboolSendMessage(MsgBasedata) { stringurlFormat="https://qyapi./cgi-bin/message/send?access_token={0}"; stringaccessToken=BLLAccessToken.GetAccessToken(); varurl=string.Format(urlFormat,accessToken); WebUtilsut=newWebUtils(); varpostData=Tools.ToJsonString<MsgBase>(data); //数据不用加密发送 LogInfo.Info("发送消息:"+postData); stringsendResult=ut.DoPost(url,postData); SendMsgResulttempAccessTokenjson=Tools.JsonStringToObj<SendMsgResult>(sendResult); if(tempAccessTokenjson.HasError()) { LogInfo.Error("发送消息错误:"+Tools.ToJsonString<SendMsgResult>(tempAccessTokenjson)); returnfalse; } returntrue; } }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。