实现企业微信的消息发送-文本消息

781 781
SKIT.FlurlHttpClient.Wechat
sam
sam 2024-09-09 12:32:34

在首先得到了AccessToken的前提之下就可以对当前企业的成员进行相关的消息推送

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 /// <summary>
 /// 发文本文件给指定的用户
 /// </summary>
 /// <param name="corpId"></param>
 /// <param name="text"></param>
 /// <param name="lstUserId">企业微信用户对应的OpenId</param>
 /// <param name="agentId"></param>
 /// <param name="agentSecret"></param>
 /// <returns></returns>
 public static ExeMsgInfo SendTextMsgToUserList(int agentId, string agentSecret, string corpId,string text, List<String> lstUserId)
 {
     ExeMsgInfo exeMsgInfo = new ExeMsgInfo();
     if (lstUserId == null || lstUserId.Count == 0)
     {
         exeMsgInfo.RetValue = "目标用户不能为空";
 
         return exeMsgInfo;
     }
 
     if (string.IsNullOrEmpty(corpId) || string.IsNullOrEmpty(agentSecret))
     {
         exeMsgInfo.RetValue = "corpId或者 agentSecret不能为空";
         return exeMsgInfo;
     }
 
     WechatWorkClientOptions options = new WechatWorkClientOptions();
     options.AgentId = agentId;
     options.AgentSecret = agentSecret;
     options.CorpId = corpId;
 
 
     try
     {
         var client = WechatWorkClientBuilder.Create(options).Build();
         var request = new CgibinMessageSendRequest();
         request.AccessToken = GetAppAccessToken(agentId,agentSecret,corpId);
         request.ToUserIdList = lstUserId;
         request.MessageType = "text";
         request.MessageContentAsText = new CgibinAppChatSendRequest.Types.TextMessage() { Content = text };
         request.AgentId = agentId;
 
         var response = client.CgibinMessageSendRequest(request);
 
         exeMsgInfo.RetStatus = response.Result.ErrorCode;
         exeMsgInfo.RetValue = "返回的结果是:" + response.Result.ToJson();
         LogHelper.WriteLog($"返回的结果是:{exeMsgInfo.RetValue}");
 
     }
     catch (Exception ex)
     {
         exeMsgInfo.RetValue = "发送异常" + ex.Message;
     }
 
     return exeMsgInfo;
 }

说明:

采用了 CgibinMessageSendRequest 这个类

步骤

1、创建client

2、采用 CgibinMessageSendRequest 创建请求,以及请求包含的参数

3、采用 client.CgibinMessageSendRequest 通用的请求发送

4、采用 Models.CgibinMessageSendResponse 标准消息发送 返回来获取返回值,并进行格式化输出

回帖
  • 消灭零回复
作者信息
相关文章