下面在控制台应用里展现一个简单的例子来实现发送文本消息。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(); }