wechat_0010-企业微信,把自己的项目接入企业微信
1、需要一个可以在公网上能访问的项目
可以使用花生壳等内网穿透工具,将自己的项目放在公网上。
2、需要一个企业微信账号
企业微信官网:https://work.weixin.qq.com/
3、策略文件 报illegal key size异常时见
博客:http://www.cnblogs.com/shirui/p/7411735.html
4、微信的加密解密包
下载链接:http://qydev.weixin.qq.com/java.zip
5、企业微信api
链接:https://work.weixin.qq.com/api/doc
好了,上述是一些参考文件,以及遇到的一些bug的处理,接下就是开始配置接受消息的服务器配置了。
搭建环境:springmvc + maven + eclipse
首先看个流程
根据这个流程,来做具体操作,
1、建立controller
import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.wechat.common.aes.AesException; import com.wechat.common.aes.WXBizMsgCrypt; import com.wechat.common.parameter.Parameter; /** * 应用模块的controller * * @author WRY * */ @Controller public class ApplicationController { @RequestMapping(value = "/ApplicationController") public void EntryMethod(HttpServletRequest request, HttpServletResponse response) throws Exception { // 微信加密签名 String msg_signature = request.getParameter("msg_signature"); // 时间戳 String timestamp = request.getParameter("timestamp"); // 随机数 String nonce = request.getParameter("nonce"); // 随机字符串 String echostr = request.getParameter("echostr"); System.out.println("request=" + request.getRequestURL()); PrintWriter out = response.getWriter(); // 通过检验msg_signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败 String result = null; try { WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(Parameter.TOKEN, Parameter.ENCODINDAESKEY, Parameter.CORPID); result = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr); } catch (AesException e) { e.printStackTrace(); } if (result == null) { result = Parameter.TOKEN; } out.print(result); out.close(); out = null; } } |
Parameter.TOKEN, Parameter.ENCODINDAESKEY,分别对应下面配置的token和encodingAESkey。 Parameter.CORPID 企业微信唯一的标识,在“我的企业”栏目下可查看
2.参数配置完成,点保存,如果成功则会提示设置成功,然后这个接口就可以正常开发逻辑了。