背景: 利用企業(yè)微信的應(yīng)用推送消息
在企業(yè)微信后臺(tái)創(chuàng)建應(yīng)用,一般由企業(yè)微信管理員創(chuàng)建,創(chuàng)建好應(yīng)用后,在工作臺(tái)上便可看到新創(chuàng)建的應(yīng)用
-
獲取企業(yè)微信應(yīng)用相關(guān)的消息(CorpId, CorpSecret, AgentId), CorpId與企業(yè)賬號后臺(tái)的CorpId設(shè)置保持一致;CorpSecret與CorpSecret的后臺(tái)設(shè)置一致; 都區(qū)分大小寫;
AgentId為新創(chuàng)建的應(yīng)用的Id{ /// <summary> /// 與微信企業(yè)賬號后臺(tái)的CorpId設(shè)置保持一致颁督,區(qū)分大小寫。 /// </summary> public string CorpId { get; set; } /// <summary> /// 與微信企業(yè)賬號后臺(tái)的CorpSecret設(shè)置保持一致浇雹,區(qū)分大小寫沉御。 /// </summary> public string CorpSecret { get; set; } /// <summary> /// 微信企業(yè)應(yīng)用ID /// </summary> public string AgentId { get; set; } public string Receiver { get; set; } public string WeiXinContent { get; set; } } ```
使用NuGet引入第三方代碼庫Senparc.Weixin.* 根據(jù)自己的代碼決定引入什么庫及版本
-
實(shí)現(xiàn)自己的代碼,直接調(diào)用庫中的SendText方法
{ if (weixinReceivers == null || !weixinReceivers.Any() || string.IsNullOrEmpty(messageContent)) { Logger.Warn("The Parameter weixinReceivers or messageContent is invalid"); return ; } if (WeiXinInfo == null) { Logger.Warn("The Configuration Of WeiXin is invalid"); return ; } foreach (var receiver in weixinReceivers) { WeiXinInfo.Receiver = receiver; WeiXinInfo.WeiXinContent = messageContent; if (!ValidateWeixinInfo(WeiXinInfo)) { Logger.Warn("Validate WeixinInfo failed"); continue; } var result = SendText(WeiXinInfo); if (!string.IsNullOrEmpty(result.invaliduser)) { Logger.Warn($"Send {messageContent} to result.invaliduser failed"); continue; } } }
調(diào)用SendText實(shí)現(xiàn)發(fā)送消息的同步方法昭灵,調(diào)用SendTextAsync實(shí)現(xiàn)發(fā)送消息的異步方法
發(fā)送的消息吠裆,如第4步中的messageContent就htm格式的,你需要在發(fā)送前虎锚,把格式和內(nèi)容準(zhǔn)備好
同理硫痰,可發(fā)送圖片,語音窜护,附件等