目录
企业微信接口调试工具https://open.work.weixin.qq.com/wwopen/devtool/interface/combine
1.企业微信后台配置接口地址
回调配置 - 企业微信APIhttps://work.weixin.qq.com/api/doc/90000/90135/90930
1.1打开企业微信后台--》管理工具--》通讯录同步配置回调地址
1.2.配置URL(后台回调域名地址)
配置Token,可随机获取,但要复制到本地代码,后面会用到
配置EncodingAESKey,可随机获取,但要复制到本地代码,后面会用到
1.3.接口开发完成后,可以用下面的地址测试是否调用成功
企业微信接口调试工具
https://open.work.weixin.qq.com/wwopen/devtool/interface/combine
2.企微API下载demo
2.1 加密和解密方式参考微信官方文档
加解密库下载与返回码 - 企业微信APIhttps://work.weixin.qq.com/api/doc/90000/90138/90307#java%E5%BA%932.2打开demo
3.接口实现
get请求,
/**
* get 请求 验签.
* @param msgSignature 加密
* @param timestamp 时间戳
* @param nonce 随机
* @param echostr .
* @param response .
* @throws Exception .
*/
@GetMapping(value = "/callback/interAspect")
public void reveiceMsg(@RequestParam(name = "msg_signature") final String msgSignature,
@RequestParam(name = "timestamp") final String timestamp,
@RequestParam(name = "nonce") final String nonce,
@RequestParam(name = "echostr") final String echostr,
final HttpServletResponse response) throws Exception {
//企业回调的url-----该url不做任何的业务逻辑,仅仅微信查看是否可以调通.
QywechatCallback qywechatCallback = QywechatCallback.TEST;
// logger.info("=========\n"+" msg_signature {}, timestamp {}, nonce {} , echostr {} \n", msgSignature, timestamp, nonce, echostr,"=========\n");
logger.info("\n=================="+"msg_signature {}, timestamp {}, nonce {} , echostr {} ",msgSignature, timestamp, nonce,echostr,"==================\n");
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(qywechatCallback);
// 随机字符串
String sEchoStr = wxcpt.verifyURL(msgSignature, timestamp, nonce, echostr);
PrintWriter out = response.getWriter();
try {
//必须要返回解密之后的明文
if (StringUtils.isBlank(sEchoStr)) {
logger.info("=========\n"+"URL验证失败"+"=========\n");
} else {
logger.info("=========\n"+"验证成功!"+"=========\n");
}
} catch (Exception e) {
e.printStackTrace();
logger.error("",e);
}
out.write(sEchoStr);
out.flush();
}
Post请求
/**
* 企业微信客户联系回调.
* @param request request
* @param sMsgSignature 签名
* @param sTimestamp 时间戳
* @param sNonce 随机值