####本文仅作者本身笔记使用,外人看很混乱,有需要的可联系我#######
菜单栏点击按钮,在按钮设置跳转的路径是可以直接写路径,但是这样只能直接跳转,不能带任何参数,如果想带参数,可以通过重定向方式实现。
获取用户信息是通过访问https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID 可以获得一个特定的code,就是通过这个code值类似一个准许证,靠这个证来获取用户信息。
public void check(HttpSession session, Map<String, Object> model,HttpServletRequest request,HttpServletResponse response) {
String code = request.getParameter("code");//我们要的code
然后通过这个code,将这个code作为参数访问"https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
得到的返回值就有用户信息。
public class UserinofService {
/**
* 获取网页授权凭证
*
* @param appId 公众账号的唯一标识
* @param appSecret 公众账号的密钥
* @param code
* @return WeixinAouth2Token
*/
public WeixinOauth2Token getOauth2AccessToken( String code) {
/**
* 欢迎大家关注我的博客,如有疑问,请加qq群:454796847、135430763 共同进步!
也可以浏览我的博客,左侧有支付宝和微信的捐款二维码!
*/
WeixinOauth2Token wat = null;
// 拼接请求地址
String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
requestUrl = requestUrl.replace("APPID", PubInfoWeixin.APPID);
requestUrl = requestUrl.replace("SECRET", PubInfoWeixin.APPSECRET);
requestUrl = requestUrl.replace("CODE", code);
// 获取网页授权凭证
JSONObject jsonObject = WeixinUtil.httpRequest(requestUrl, "GET", null);
if (null != jsonObject) {
try {
wat = new WeixinOauth2Token();
wat.setAccessToken(jsonObject.getString("access_token"));
wat.setExpiresIn(jsonObject.getInt("expires_in"));
wat.setRefreshToken(jsonObject.getString("refresh_token"));
wat.setOpenId(jsonObject.getString("openid"));
wat.setScope(jsonObject.getString("scope"));
} catch (Exception e) {
wat = null;
int errorCode = jsonObject.getInt("errcode");
String errorMsg = jsonObject.getString("errmsg");
}
}
return wat;
}