企业微信回调JAVA开发 腾讯文档写了依托答辩 这里写点实战代码更容易理解

企业微信回调JAVA开发  腾讯文档写了依托答辩 这里写点实战代码更容易理解

以下代码中的变量 token, encodingAESKey, corpID

是你自己账户的token 、AES钥、 corpID

WXBizJsonMsgCrypt 类是腾讯给到的JAVA类库,可以在 腾讯企业微信开发文档中心下载

    @ApiOperation("企业微信回调")
    @GetMapping("/callback")
    public void callback(HttpServletResponse response, HttpServletRequest request) throws Exception {
        //List<AITaskEntity> taskList = new ArrayList<AITaskEntity>(tasks.values());
        logger.info("=========QYWXController get callback===========");
        logger.info(System.getProperty("java.library.path"));

        WXBizJsonMsgCrypt wxcpt = new WXBizJsonMsgCrypt(token, encodingAESKey, corpID);

        String sVerifyMsgSig = request.getParameter("msg_signature");
        String sVerifyTimeStamp = request.getParameter("timestamp");
        String sVerifyNonce = request.getParameter("nonce");
        String sVerifyEchoStr = request.getParameter("echostr");


        // 解析出url上的参数值如下:
        String sEchoStr = "签名验证错误"; //需要返回的明文
        try {
            sEchoStr = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp, sVerifyNonce, sVerifyEchoStr);
            System.out.println("verifyurl echostr: " + sEchoStr);
            // 验证URL成功,将sEchoStr返回
            //HttpUtils.SetResponse(sEchoStr);
        } catch (Exception e) {
            //验证URL失败,错误原因请查看异常
            e.printStackTrace();
        }

        // 设置内容类型和字符编码
        response.setContentType("text/plain");
        response.setCharacterEncoding("UTF-8");
        // 获取PrintWriter用于写入响应
        PrintWriter out = response.getWriter();
        // 写入输出内容
        out.print(sEchoStr);
        // 在完成写入后,确保out被关闭
        out.close();

        //return R.ok("test");
    }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值