企业微信推送消息

背景: 利用企业微信的应用推送消息

  1. 在企业微信后台创建应用,一般由企业微信管理员创建,创建好应用后,在工作台上便可看到新创建的应用

  2. 获取企业微信应用相关的消息(CorpId, CorpSecret, AgentId), CorpId与企业账号后台的CorpId设置保持一致;CorpSecret与CorpSecret的后台设置一致; 都区分大小写;
    AgentId为新创建的应用的Id

     {
          /// <summary>
         ///     与微信企业账号后台的CorpId设置保持一致,区分大小写。
         /// </summary>
         public string CorpId { get; set; }
         /// <summary>
         ///     与微信企业账号后台的CorpSecret设置保持一致,区分大小写。
         /// </summary>
         public string CorpSecret { get; set; }
          /// <summary>
         ///     微信企业应用ID
         /// </summary>
         public string AgentId { get; set; }
         public string Receiver { get; set; }
         public string WeiXinContent { get; set; }
        }
        ```
    
    
    
    
  3. 使用NuGet引入第三方代码库Senparc.Weixin.* 根据自己的代码决定引入什么库及版本

  4. 实现自己的代码,直接调用库中的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;
            }
            
        }
        
    }
    
  5. 调用SendText实现发送消息的同步方法,调用SendTextAsync实现发送消息的异步方法

  6. 发送的消息,如第4步中的messageContent就htm格式的,你需要在发送前,把格式和内容准备好

  7. 同理,可发送图片,语音,附件等

参考资料:https://work.weixin.qq.com/api/doc#90002/90151/90647

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,022评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,080评论 1 13
  • 2016-06-28 Time lady 神秘博士GIF大家看Matha 没错, 特别喜欢martha的冷静。 m...
    妙宗舶攸阅读 388评论 0 0
  • 给她一个微笑 清晨的迷雾有了太阳的微笑,才有了阳光普照,黑色的夜空,有了星星的微笑,才有了星光缭绕,寒冷...
    鸣鸥阅读 330评论 0 2