public static String getOpenIdMiniProgramByCode(String appid,String secret,String code){
String url = "https://api.weixin.qq.com/sns/jscode2session?appid="+appid+"&secret="+secret+"&js_code=" + code + "&grant_type=authorization_code";
RestTemplate restTemplate = new RestTemplate();
String responseString = restTemplate.getForObject(url, String.class);
// 解析返回的 JSON 数据
JSONObject json = JSON.parseObject(responseString);
System.out.println("获取到的JSON:"+json.toJSONString());
return json.getString("openid");
}
appid 和secret都是小程序的 code是通过wx.login()获取的
开发环境能获取到openid,
生产环境就是{"errcode":40029,"errmsg":"invalid code, rid: 665ec02e-63badea5-3f4395fc"}
我生产环境和开发环境获取到的appid 和secret都一致