文章目录
腾讯文档不多说,懂得都懂
一、找参数
四个关键参数
参数描述
- TOKEN 回调配置中开发者自己配置的TOKEN
- EncodingAESKey 回调配置中开发者自己配置的EncodingAESKey
- SuiteID 应用ID
- CorpID 企业ID
参数去哪里找
TOKEN 和 EncodingAESKey
SuiteID
CorpID
编写回调接口(数据回调和指令回调逻辑一样)
官方参考文档
官方文档详细解读,拿数据回调为例
- 提供一个接口(也可以说是两个接口)。同样的路径,但是需要同时支持GET和POST
- GET用户校验这个地址的有效性,POST则用来做业务
GET 和 POST 区别处理
GET
功能
用来校验地址有效性
入参、解密、出参
入参,四个参数的含义请参考官方文档
http://[自己服务的地址]/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323&echostr=ENCRYPT_STR
解密
在创建解密对象时,receiveid 参数是 CorpID
出参
解密密文,然后直接返回明文内容。
String text = 解密得到明文;
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(text);
POST
功能
当前案例是数据回调案例,所以这里就是接收企微推送的数据
入参、解密、出参
入参,四个参数的含义请参考官方文档
http://[自己服务的地址]/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323
需要注意一下,没有 echostr 参数了,echostr 需要自己从 body 获取。
解密
在创建解密对象时,receiveid 参数是 SuiteID
出参
直接返回 “success”
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("success");
参考代码
https://gitee.com/fhqmwy/wechat-callback.git