一、准备工作
1.登入https://mp.weixin.qq.com/注册一个服务号,注意订阅号是没有网页授权的权限的
2.安装一个myeclipse,因其自带了一个tomcat服务器。 如果你用的是eclipse,你需要在安装一个tomcat(服务器)
3.因为要和微信服务器做对接,所以需要一个内网穿透工具,上网上自己搜个内网穿透公具,我用的是花生壳,你也可以用ngrok,在命令行cmd下切换到ngrok的目录,通过ngrok -http 端口,注意端口是tomcat设定的端口,默认使8080
二、实现解析
公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头; (订阅号是没有权限的)。
第一步:用户同意授权,获取code
https://open.weixin.qq.com/connect/oauth2/authorizeappid=APPID
&redirect_uri=REDIRECT_UR
I&response_type=code
&scope=SCOPE
&state=STATE#wechat_redirect
appid改成你的appid,回调地址改成你的redirect_uri,scope等于snsapi_userinfo
通过get发出上面的url的请求后或出现授权页面,档用户点击授权后 页面将转跳到redirect_uri写好的回调地址上,在跳转中会携带code参数,code作为换取access_token的票据
第二步:通过code换取网页授权access_token
获取code后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=自己的APPID
&secret=自己的SECRET
&code=得到的code值
&grant_type=authorization_code
正确后会返回
{ "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN", "openid":"OPENID", "scope":"SCOPE" } 获取openid和access_token留着第三步请求做 第三步:拉取用户信息(需scope为 snsapi_userinfo)
GET请求url
https://api.weixin.qq.com/sns/userinfo?access_token=上面获取的access_token
&openid=上面获取的openid
&lang=zh_CN
成功后就会返回用户信息的json数据包
你就可以从中获取你想要的数据了
|