微信获取openid的时候报40163错的原因
来源:互联网 发布:遗传算法工具箱下载 编辑:程序博客网 时间:2024/05/21 10:47
最近在调试微门户,需要获取微信openid,使用企业号的时候获取openid没有报错,同样的方法微信公众号获取的时候就报40163错误即code重复使用,百度了一下,基本没有正面回复,今天无意之间看到一条回复,说是使用了静态方法的原因,验证了下,果然正确,记之。
原问题地址 http://bbs.csdn.net/topics/392185947
微信获取openid的时候报40163错的原因是静态方法的问题,静态方法只会初始化一次,后面再调用传参数,code值也改变不了
private static final String APPID = "??";
private static final String SECRET = "??";
private String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
@RequestMapping("/getOpenid")
public String getOpenid(HttpServletRequest request, HttpServletResponse response) {
String path = (String) request.getSession().getAttribute("reqPath");
// 用户同意授权后,能获取到code
String code = request.getParameter("code");
// 获取网页授权access_token
JSONObject object = getOauth2AccessToken(APPID, SECRET, code);
request.getSession().setAttribute("openid", object.getString("openid"));
return "redirect:" + path;
}
public JSONObject getOauth2AccessToken(String appId, String appSecret, String code) {
// 拼接请求地址
requestUrl = requestUrl.replace("APPID", appId).replace("SECRET", appSecret).replace("CODE", code);
// 获取网页授权凭证
JSONObject jsonObject = null;
try {
jsonObject = HttpUtil.getJsonForGet(requestUrl);
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return jsonObject;
}
原问题地址 http://bbs.csdn.net/topics/392185947
阅读全文
1 0
- 微信获取openid的时候报40163错的原因
- 微信openId的获取
- 获取微信用户的openId
- php获取微信用户的openid
- 微信获取用户的openid
- PHP获取微信粉丝的OpenID
- java中获取微信的openid
- 微信授权获取用户的openid
- 获取微信用户的openId
- 简单的实现微信获取openid
- 获取微信openID 的步骤
- 微信平台开发获取微信用户的OPENID
- 公众号获取用户的openid,php批量获取微信公众号openid
- 获取微信用户的openid的方法
- 微信获取openid
- 微信获取openid
- 获取微信OpenId
- 获取微信OpenID
- 数据可视化之一matplotlib
- colResizable的替代品,自定义列宽调整
- CRC32 tools in Ubuntu /fedora
- CZMQ之可靠的请求-应答模式
- MYSQL定位慢查询
- 微信获取openid的时候报40163错的原因
- 15周 项目4
- MQTT协议
- 机器学习(31)之频繁集挖掘FP Tree详解
- 生产环境批量自动安装系统
- 解决Eclipse 64位启动时,报jvm.dll错
- 一维数组的定义方式
- Python中的文件和流
- Java集合框架