记录微信公众号(五)

微信网页开发步骤

1 第一步:用户同意授权,获取code

2 第二步:通过code换取网页授权access_token

3 第三步:刷新access_token(如果需要)

4 第四步:拉取用户信息(需scope为 snsapi_userinfo)

5 附:检验授权凭证(access_token)是否有效

实现

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

Demo以上传到GITEE

https://gitee.com/livieyifeng/demowx.git

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容