h5在微信公众号中获取oppenId,静默和非静默
最近做的项目需要用H5在公众号里获取微信的oppenId,总结了一下
首先,要有个微信公众号,默认已经获取到了 微信公众号的appid 和redirect_uri还有secret
登录微信公众号
appid 和 secret 公众号设置里边都可以查看到
重定向的redirect_uri在下图上有个修改点击修改
开发->接口权限->网页服务->网页授权获取用户基本信息->修改
后有个填写网址的,获取后跳转的网址写上
注意 不要把http:// 带上,列如 https://www.baidu.com 只要写www.baidu.com
然后把系统提醒你的看下,会有个文件让你放在服务器上
这里是微信官方的网页授权方法:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842
看下来你会发现,其实说了那么多,总结下来就是先拿到code,再拿code去换取oppenId和access_token
一、获得code:
在微信浏览器里面输入下面的url,appid、redirect_uri改成自己的,其他的都可以不用改。
或者用微信开发者工具测试一下
静默授权:scope=snsapi_base
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxee73c44ec4971fe6&redirect_uri=redirect_uri&response_type=code&scope=snsapi_base&state=123#wechat_redirect
非静默授权:scope=snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxee73c44ec4971fe6&redirect_uri=redirect_uri&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
非静默授权,微信会让你进行授权
然后都会拿到返回的地址,里边包含code
二、获得openid
同样,获取openid也就是在微信浏览器或微信开发者工具中执行一下下面这个url就可以了。appid,secret换成自己的,code用上面一步获取的,其他都不用改
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
运行后,就拿到oppenid啦
注意:获取到的code 的有效时间只有5分钟,而且只能使用一次
不然就会返回下面的
分享一下自己的试验的过程!!!