微信企业号开发1--连接
2016-02-22 14:31
567 查看
1.官方文档:http://mp.weixin.qq.com/wiki/10/6380dc743053a91c544ffd2b7c959166.html
2.查看文档中的接入方法和接入成功的判断标准
返回解密后的明文即为调用成功
3.下载官方文档中解密提供的源码
http://qydev.weixin.qq.com/wii/index.php?ktitle=%E5%8A%A0%E8%A7%A3%E5%AF%86%E5%BA%93%E4%B8%8B%E8%BD%BD%E4%B8%8E%E8%BF%94%E5%9B%9E%E7%A0%814.创建web项目,将下载好的java项目中的src下的包导入这个web项目src包下,创建servlet,调用源码中已有的方法
package com.baosight.wechat.servlet; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.qq.weixin.mp.aes.AesException; import com.qq.weixin.mp.aes.WXBizMsgCrypt; /** * Servlet implementation class connect */ public class connect extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public connect() { super(); // TODO Auto-generated constructor stub } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sVerifyEchoStr = request.getParameter("echostr"); String sEchoStr=null; //需要返回的明文 try { String token = "yourToken"; String encodingAesKey = "yourAesKey"; String corpId = "yourCorpId"; WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token, encodingAesKey, corpId); String sVerifyMsgSig = request.getParameter("msg_signature"); String sVerifyTimeStamp = request.getParameter("timestamp"); String sVerifyNonce = request.getParameter("nonce"); sEchoStr = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp, sVerifyNonce, sVerifyEchoStr); } catch (AesException e1) { sEchoStr="ERR: "+e1.getCode()+ "\n\n"; e1.printStackTrace(); } response.getWriter().print(sEchoStr); response.getWriter().flush(); } /** * 解析post提交的数据,并转交给处理程序 */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获得请求参数 String token = "yourToke"; String encodingAesKey = "yourAesKey"; String corpId = "yourCorpID"; String sReqMsgSig = request.getParameter("msg_signature"); String sReqTimeStamp = request.getParameter("timestamp"); String sReqNonce = request.getParameter("nonce"); //获得post提交的数据 BufferedReader br=new BufferedReader(new InputStreamReader(request.getInputStream())); StringBuilder sbuff=new StringBuilder(); String tmp=null; while((tmp=br.readLine())!=null){ sbuff.append(tmp); } String sReqData = sbuff.toString(); String sEchoStr=null; try { WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(token,encodingAesKey, corpId); String sMsg = wxcpt.DecryptMsg(sReqMsgSig, sReqTimeStamp, sReqNonce, sReqData); sEchoStr = wxcpt.EncryptMsg(sEchoStr, sReqTimeStamp, sReqNonce); } catch (AesException e1) { sEchoStr="ERR: "+e1.getCode()+ "\n\n"; e1.printStackTrace(); } response.getWriter().print(sEchoStr); } }
5.在服务器上部署项目,并运行
6.登录启用回调模式,设置url token aesKey
url为所访问的servlet点击完成,显示:成功配置企业服务器
注意问题:
相关文章推荐
- 社交巨头三国杀:微信、WhatsApp、Line到底有啥区别?
- 微信悄悄升级群聊功能:个人微信营销号的福音
- 突击部队拼多多
- 我是运营,我没有假期
- 如何做到日消息量100万的微信公众号?
- 论微信取消推送功能的可能性(原创)
- 微信的成功,靠的是QQ导流吗?
- 「Linux 中国」2018 微信文章排行榜
- 微信服务号推送模板消息接口
- PHP限制页面只能在微信自带浏览器访问的代码
- HTML5实现微信拍摄上传照片功能
- 微信小程序去哪里找 小程序到底如何使用(附小程序名单)
- 使用jQuery.wechat构建微信WEB应用
- nw.js实现类似微信的聊天软件
- jquery1.8版本使用ajax实现微信调用出现的问题分析及解决办法
- JS版微信6.0分享接口用法分析
- 大家在抢红包,程序员在研究红包算法