您的位置:首页 > 移动开发 > 微信开发

微信公众号学习(一):网页授权获取用户基本信息

2019-05-11 16:32 260 查看

准备:由于个人无法申请微信公众订阅号,这边便使用微信的测试账号对网页进行授权

测试号申请及设置外网域名

首先我们先申请一个官方的测试账号,申请地址如下:

点击这个链接,使用微信扫一扫登录,即可登陆成功,获取测试账号信息:

下拉页面找到测试号二维码那一栏,使用微信扫一扫关注这个测试公众号。关注成功后,稍等一会就会显示出用户列表。

 配置完测试账号后,继续下拉页面找到网页服务中的网页账号的设置,点击修改:

 将我们在natapp中申请的外网域名配置进去:

注意:由于是测试号,这一块不会严个去检测这个域名,如果是使用真实的公众账号去配置时,会对配置的域名进行检测,但即便是测试,也要保证这个域名是可用的,不然无法进行联调。

手动获取openid

1.第一步,用户同意授权后,获取code参数:

完成以上测试账号的配置及微信网页授权后,创建一个springboot的web工程,并打开natapp的客户端(保证通过外网域名能够访问我们这个springboot项目的接口)。关于获取code这一步就需要仔细查看微信的官方文档了。

其实就是微信用户点击下面这个链接,便表示同意授权,然后便跳转到我们设置的回调地址中,然后我们只需要更改下该链接中的参数即可。

[code]https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxab63xxxxxxxx&redirect_uri=http://xiongzhilong.natapp1.cc/sell/wx/auto&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

appid:测试账号信息中的appid

redirect_uri: 这个便是我们自己设置的回调地址 ,当用户点击链接时,微信会重定向到这个回调地址,并传递一个code参数,我们只需要在后台接收这个参数,便获取到了code

其他的按照文档的要求填写即可。

使用code来换取access_token

当我们获取到code,可以通过code换取access_token,这一步还是需要认真阅读上一步的官方文档

通过阅读官方文档可知,获取code后,可以通过请求以下链接来获取access_token,同样的在这个链接填写自己的appid,sercret和刚刚获取的code,至于grant_type参数不变即可:

[code]https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxab6370xxxx80e64d&secret=ab372b55f6ea347xxxxc9067dfd2&code=021rbU2i0KhTsw1U7l3i0bOV2i0rbU2H&grant_type=authorization_code

访问这个链接后,我们便能得到一个json字符串,里面就有我们想要的access_token和openid了。

[code]{
"access_token": "9_lZjiw19HhAga4cZ9C4rmtN50AkLzCwLVnlp8msI9xvCCWMIR88CmZAtB-IN1SGOwR_nh76V100vaTF8qihmBnfDx7XYynqHurb4UiqSZTDo",
"expires_in": 7200,
"refresh_token": "9_oMBSt0Bu-UUbVajpfo4OdyPwIfYbN1lut8KHjT4JEMTTbITtPnBFcQopP-SIzYvWHQuEdeQRcVHt1pRJHwvDhecDrd5pGz5HPckOCeHvmxg",
"openid": "ok_HP0txxYBxxxxxxd1kZGz6A",
"scope": "snsapi_base"
}

到此为止,我们手工获取openid的方式就这样完成了。其实也还有另外一种方式获取,那边是使用第三方的sdk了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: