如何在C#中便捷地调用企业微信常用的接口?

2024-9-3 09:40| 发布者: 马格靶子| 查看: 165| 评论: 9

今天给大家介绍我自己在项目中使用的企业微信帮助工具,是结合企业微信官方文档写的帮助类。
第一步:引入BaoZi.Tools.QYWX

第二步:在你的项目中可以通过new QYWXApp(企业微信公司ID,自建应用的AgentId,自建应用的CorpSecret)创建一个App实例

示例代码1(根据临时登录码获取登录用户):

var app = new QYWXApp("CorpId",123,"CorpSecret") //根据临时登录码code获取登录用户var userinfo = app.GetUserInfo("code");上述代码根据企业微信中构造的登录链接获取的临时登录码code来获取当前登录的是哪个用户。其中获取的userinfo类如下:
public class QYWXUserInfo    {        public string userid { get; set; }        public string name { get; set; }        public string mobile { get; set; }        public string user_ticket { get; set; }    }示例代码2(发送消息):

void SendMessage(MessageContent messageContent)
其中MessageContent 是一个抽象类,针对消息内容的抽象类,实现了下面几种消息类型,根据需要发送消息的类型进行调用即可
public abstract class MessageContent    {        public string touser { get; set; }        public string toparty { get; set; }        public string totag { get; set; }        public long agentid { get; set; }    }    #region 文本消息    public class WXTextContent : MessageContent    {        public string msgtype = "text";        public WXText text { get; set; }    }    public class WXText    {        public string content { get; set; }    }    #endregion    #region 图片消息    public class WXImageContent : MessageContent    {        public string msgtype = "image";        public WXImage image { get; set; }    }    public class WXImage    {        public string media_id { get; set; }    }    #endregion        #region 文件消息    public class WXFileContent : MessageContent    {        public string msgtype = "file";        public WXFile file { get; set; }    }    public class WXFile    {        public string media_id { get; set; }    }    #endregion上述代码是针对自建应用的一些常用方法。
三、机器人消息发送

首先需要new 一个机器人对象
var robot = new QYWXRobot(){RobotKey="机器人的key"}其中RobotKey如图所示,需要自己进行新建机器人方可获取。

如何在C#中便捷地调用企业微信常用的接口?-1.jpg

这里我提供了三种消息的发送
1、机器人发送图片

public string RobotSendImage( string ImagePath)
2、机器人发送文字消息,其中的mentioned_list可以参考企业微信文档

RobotSendText(string content, string? mentioned_list = null)
3、机器人发送文件消息

string RobotSendFile(string path)
四、彩蛋,引入企业微信帮助nuget包时,会同时引入BaoZi.Tools.Http包

此工具类实现了两个扩展方法:
public static async Task<string> GetAsync(this string url)
public static async Task<string> PostAsync(this string url, HttpContent? content)
用于C#后端发送http的get、post请求
用法如下:
string url = "http://www.baidu.com";var res = await url.GetAsync();var res2 = await url.PostAsync(null);如果有小伙伴不想自己的方法是异步的,可以这样调用
string url = "http://www.baidu.com";var res =  url.GetAsync().GetAwaiter().GetResult();var res2 =  url.PostAsync(null).GetAwaiter().GetResult();上一期问题:如何将自己的工具类发布到nuget?

接下来给大家介绍一下如何将自己的工具类发布到nuget。
1、创建项目为类库项目


如何在C#中便捷地调用企业微信常用的接口?-2.jpg

2、编辑好你的帮助类之后在项目文件csproj文件中编辑你的版本,作者,描述等信息。

如何在C#中便捷地调用企业微信常用的接口?-3.jpg

3、右键项目,然后点击打包,打包成功之后,在控制台可以看到生成的nupkg文件
4、使用微软账号登录nuget,如下图,选择你生成的nupkg文件进行上传即可



如何在C#中便捷地调用企业微信常用的接口?-4.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一篇:企业微信如何通过短链接加友?

下一篇:企业微信功能介绍之企业支付

交流热线
17501437970 周一至周日:09:00 - 21:00

创赢网-致力于帮助普通人在创业之路上披荆斩棘、走向成功的专业网站,汇聚创新智慧与成功机遇的网络天地,是创业者开启赢之征程的首选之地。

Powered by Discuz! X3.5 © 2023-2050 CHUANYING Team.

QQ|Archiver|手机版|小黑屋|创赢网 ( 湘ICP备17022177号-3 )

GMT+8, 2024-11-23 14:02 , Processed in 0.207866 second(s), 32 queries .

快速回复 返回顶部 返回列表