微信网页开发步骤
2 第二步:通过code换取网页授权access_token
4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
实现
1.我是创建了一个按钮跳转链接搭配获取用户的接口
image.png
2.接口获取到code,然后换取access_token进行获取用户信息
@RestController
public class DemoGetUserInfoController {
@Value("${demo.appID}")
private String appId;
@Value("${demo.appsecret}")
private String appsecret;
@GetMapping("/getUserInfo")
public ModelAndView getUserInfo(HttpServletRequest request, HttpServletResponse response) {
//1.获取code
String code = request.getParameter("code");
//2.通过code换取accesstoken的网页授权方式
String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
url = url.replace("APPID", appId).replace("SECRET", appsecret).replace("CODE", code);
String result = MyUtil.get(url);
String at = JSONObject.parseObject(result).getString("access_token");
String openid = JSONObject.parseObject(result).getString("openid");
//3.拉取用户的基本信息
url="https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
url=url.replace("ACCESS_TOKEN", at).replace("OPENID", openid);
result = MyUtil.get(url);
System.out.println(result);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject(result);
//modelAndView.setView();
//4.重定向到页面
return modelAndView;
}
}
PS:实际操作
image.png