在企业微信的开发中,为了实现企业应用与企业微信的双向通信, 企业可以开发一个 WebApi 供企业微信后台调用,以返回消息,事件等。
下载官方加解密库
为保证信息安全, 消息接收服务中传递的消息会被加密,因此企业应用中需要实现与企业微信后台服务相兼容的加密、解密算法。 幸运的是企业微信官方已经提供好了该加密、解密算法的、各种语言的库,只需要下载并引入企业应用项目中即可使用。
下载后是一个名为: csharp.zip 文件,解压以后发现里面有三个程序文件, 分别是: Cryptography.cs, WXBizMsgCrypt.cs, Sample.cs。 我们可以在开发项目中新建一个名为 Tencent 的目录,然后把 Cryptography.cs, WXBizMsgCrypt.cs 这两个文件复制到该目录中,然后我们就可以直接在项目中使用了。
新建一个 WebApi
为了让企业微信后台能调用应用的服务,我们需要建立一个 WebApi, 在例子中,我们命名为: CallbackController, 简单的实现代码如下:
1 | using System.Threading.Tasks; |
实现URL验证接口
要配置消息接收服务,首先需要开启接收消息(官方文档), 需要在 .NET Core 中实现一个 GET 方法的 WebApi,
该 api 接收由企业微信后台通过 URL 传过来的参数。然后将其中的 echostr 解密后返回给企业微信后台, 对应的 .net core 代码如下:
1 | [ ] |
实现消息接收接口
直接上代码:
1 | [ ] |
最后得到的 sMsg 是一个明文的字符串,xml 格式,我们需要用对应的 xml api 来获取其中的业务数据。