今天給大家介紹我自己在項目中使用的企業微信幫助工具,是結合企業微信官方文檔寫的幫助類。
第一步:引入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 (102.27 KB, 下載次數: 18)
下載附件
2024-9-3 10:26 上傳
這里我提供了三種消息的發送
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 (61.85 KB, 下載次數: 17)
下載附件
2024-9-3 10:26 上傳
2、編輯好你的幫助類之后在項目文件csproj文件中編輯你的版本,作者,描述等信息。
如何在C#中便捷地調用企業微信常用的接口?-3.jpg (86.87 KB, 下載次數: 14)
下載附件
2024-9-3 10:26 上傳
3、右鍵項目,然后點擊打包,打包成功之后,在控制臺可以看到生成的nupkg文件
4、使用微軟賬號登錄nuget,如下圖,選擇你生成的nupkg文件進行上傳即可
如何在C#中便捷地調用企業微信常用的接口?-4.jpg (46.69 KB, 下載次數: 12)
下載附件
2024-9-3 10:26 上傳
|
|