java微信demo_微信登陆 , 简单的demo , java
這幾天簡單的做了一下微信登陸的demo,希望對大家有幫助
不多說,直接上代碼:
/**
*
* @author TY
*
*/
@Controller
@RequestMapping("/wechatlogin")
public class WechatLoginController {
/**
* 請求CODE
*
* @param response
* @throws Exception
*/
@RequestMapping("/login")
public void login(HttpServletResponse response) throws Exception {
String state = "&state=STATE";
String url = Constant.WECHAT_LOGIN_URL + Constant.APPID + Constant.REDIRECT_URI + Constant.RESPONSE_TYPE
+ Constant.SCOPE + state;
response.sendRedirect(url);
return;
}
/**
* 請求CODE后的回調
*
* @param code
* @param state
* @throws Exception
*/
@RequestMapping("/callback")
public void callback(String code, String state, HttpServletResponse response) throws Exception {
if (code == null) {
/** 重定向回登陸界面 */
String url = Constant.MAINURL;
response.sendRedirect(url);
return;
}
/** 這里需要判斷state */
/******************* 通過code獲取access_token *******************/
code = "&code=" + code;
String url = Constant.WECHAT_GET_TOKEN_BY_CODE + Constant.APPID + Constant.SECRET + code
+ Constant.GET_ACCESSTOKEN_GRANT_TYPE;
String jsonStr = RequestUrl.getUrlResult(url);
if (jsonStr.contains("\"errcode\":40029")) {
System.out.println("code過期");
/*********************** 這里可以處理 ***********************/
} else {
JSONObject jsonObject = JSONObject.fromObject(jsonStr);
String accessToken = (String) jsonObject.get("access_token");
String refreshToken = (String) jsonObject.get("refresh_token");
String openId = (String) jsonObject.get("openid");
/******************* 通過access_token調用接口 *******************/
/** 檢查access_token有效性... */
url = Constant.WECHAT_CHECK_ACCESS_TOKEN + "&access_token=" + accessToken + "&openid=" + openId
+ "&lang=zh_CN";
jsonStr = RequestUrl.getUrlResult(url);
if (jsonStr.contains("\"errcode\":40029")) {
/**
* access_token失效...
*
* 刷新access_token有效期
*/
url = Constant.WECHAT_REFRESH_TOKEN + Constant.APPID + Constant.REFRESH_TOKEN_GRANT_TYPE
+ "&refresh_token=" + refreshToken + "&openid=" + openId + "&lang=zh_CN";
jsonStr = RequestUrl.getUrlResult(url);
// 判斷是否超時
/*********************** 這里需要處理 ***********************/
}
/** 獲取用戶信息 */
url = Constant.WECHAT_GET_USERINFO + "&access_token=" + accessToken + "&openid=" + openId + "&lang=zh_CN";
jsonStr = RequestUrl.getUrlResult(url);
/*********************** 這里需要處理 ***********************/
}
return;
}
}
總結
以上是生活随笔為你收集整理的java微信demo_微信登陆 , 简单的demo , java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python单词什么意思_“逐字逐句”是
- 下一篇: ios 获取沙河文件夹_iOS开发之获取