一、构造授权地址,用户同意授权,获取code
https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state={3}#wechat_redirect
注:
appid为申请公众号给予的公众号id
redirect_uri为用户同意授权后的回调地址,该地址需要用URLEncoder.encode()进行编码
scope为snsapi_userinfo,表示要获取用户信息
state为回调时传递参数,该值有长度限制,如果使用该字段进行传递访问地址,也需要用URLEncoder.encode()进行编码
二、通过code换取网页授权access_token、openid
在上一步中,用户同意授权,则调用上一步中redirect_uri的接口,并将code与state传递回来,通过code获取access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code
注:
appid为申请公众号给予的公众号id
secret为申请公众号给予的公众号密码
code为上一步请求微信服务给予的code
如果第一步中scope为snsapi_userinfo,