本文目录: 创建控制台应用使用命令行工具创建 $ dotnet new console --name WeixinWorkDemo dotnet 是程序的名字 添加SDK引用命令行方式进入项目目录$ 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> 配置和使用SDK添加appsettings.json文件appsettings.json 文件一般用作 .NET Core 项目的项目配置文件,在 ASP.NET Core 项目中通常可以看到。 文件内容如下,其中需要替换你自己的信息进去。 { "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> 使用SDK发送文本消息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(); } 参考 |
|