下面在控制檯應用裏展現一個簡單的例子來實現發送文本消息。html
本文目錄:
git
使用命令行工具建立github
$ dotnet new console --name WeixinWorkDemo
dotnet 是程序的名字
new 是一個子程序的名字
console 是要使用的項目模板的名字
--name WeixinWorkDemo 指定要建立的項目的名字是 WeixinWorkDemojson
$ cd WeixinWorkDemo
$ dotnet add package Senparc.Weixin.Work
這個命令的執行效果能夠在 WeixinWorkDemo.csproj 文件中看到緩存
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Senparc.Weixin.Work" Version="3.7.104.2" /> </ItemGroup> </Project>
appsettings.json 文件通常用做 .NET Core 項目的項目配置文件,在 ASP.NET Core 項目中一般能夠看到。微信
文件內容以下,其中須要替換你本身的信息進去。app
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "SenparcSetting": { "IsDebug": true, "DefaultCacheNamespace": "DefaultCache" }, "SenparcWeixinSetting": { "IsDebug": true, "WeixinCorpId": "替換爲你的企業微信企業ID", "WeixinCorpAgentId": "替換爲你的企業微信應用ID", "WeixinCorpSecret": "替換爲你的企業微信應用的Secret" } }
而後修改 WeixinWorkDemo.csproj,聲明把 appsettings.json 拷貝到編譯輸出目錄,否則運行時會找不到 appsettings.json 文件。工具
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Senparc.Weixin.Work" Version="3.7.104.2" /> </ItemGroup> <ItemGroup> <None Update="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> </Project>
static void Main(string[] args) { //建立配置構建對象,並添加配置來源 var configBuilder = new ConfigurationBuilder(); configBuilder.AddJsonFile("appsettings.json", false, false); Console.WriteLine("完成 appsettings.json 添加"); //構建配置 var config = configBuilder.Build(); Console.WriteLine("完成 ConfigurationBuilder 初始化"); //綁定配置數據到對象,而後能夠經過對象來使用 var senparcSetting = new SenparcSetting(); var senparcWeixinSetting = new SenparcWeixinSetting(); config.GetSection("SenparcSetting").Bind(senparcSetting); config.GetSection("SenparcWeixinSetting").Bind(senparcWeixinSetting); Console.WriteLine("完成配置對象綁定"); //使用 Microsoft 內置依賴注入建立容器 var services = new ServiceCollection(); //添加 SDK 中的本地緩存服務到容器中 services.AddMemoryCache(); Console.WriteLine("完成本地緩存註冊"); //添加全局基礎服務到容器中 services.AddSenparcGlobalServices(config); Console.WriteLine("完成全局基礎服務註冊"); //建立註冊服務 IRegisterService register = RegisterService.Start(senparcSetting).UseSenparcGlobal(); //開始註冊微信信息 register.UseSenparcWeixin(senparcWeixinSetting, senparcSetting) //註冊企業微信(可註冊多個) .RegisterWorkAccount(senparcWeixinSetting, "企業微信應用名"); // 註冊企業微信應用信息,同時獲取了 access token // 經過應用信息獲取 access token 標識 var appKey = AccessTokenContainer.BuildingKey(senparcWeixinSetting.WeixinCorpId, senparcWeixinSetting.WeixinCorpSecret); // 經過標識獲取 access token var token = AccessTokenContainer.GetToken(appKey); // 把應用ID也加入到 appsettings.json 中,這樣能夠經過配置對象獲取了 var appId = senparcWeixinSetting.WeixinCorpAgentId; // 使用 SDK 的消息 API 發送文本信息 MassApi.SendText(token, appId, "Hello World!", "替換爲你要發送的人員帳號"); Console.WriteLine("點擊任意按鍵結束..."); Console.ReadKey(); }