微信公众平台获取openid在公众号的开发中有很多用途,前段时间为实现用户使用公众号在登录一次以后可以免密登陆而使用了openid。开发过程中遇到了一些问题,在这里向需要且还没有获取到openid的米娜桑分享一下简单的流程及部分代码,和一些问题的解决方式,给初次接触微信openid的朋友们一个参考。目的只在于获取openid,至于优化及应用上诸君请自由发挥。
首先了解openid是什么,一个微信号与一个公众号对应一个固定不变的openid。所以一个微信号在一个公众号下的openid是不变的,如果换了一个对应的公众号,那就是另一个openid了。且只有在微信自带浏览器中打开的项目才可获取到。
准备:
首先你要有一个公众号,还有一个外网可访问的域名,我的公众号类型是企业号,这里就以企业号为例了。获取openid需要的公众号的 appid 和 secret(登陆公众平台 开发----->基本配置中的开发者ID(AppID)和 开发者密码(AppSecret)就是)。其次是设置网页授权域名(登陆公众平台 设置----->公众号设置------>功能设置----->网页授权域名 按步骤操作并设置就好),这个域名就是你获取openid的web项目发布的域名,这里注意服务器请一定跑在80端口。
流程:
1.调用https://open.weixin.qq.com/connect/oauth2/authorize接口获取到code
2.得到code作为一个参数调用https://api.weixin.qq.com/sns/oauth2/access_token接口获取到openid
因为只是简单的获取到openid,这里只放两个servlet与用到的工具类代码:
第一个是获取code用的WxCodeServlt