网上搜资料时,网友都说官方文档太垃圾了不易看懂,如何如何的。现在个人整理了一个通俗易懂易上手的,希望可以帮助到刚接触微信接口的你。
请看流程图!看懂图,就懂了一半了:
其实整体流程大体只需三步:用户点击登录按钮(其实就是个链接) ---》 用户点击授权登录 ----》 实现获取用户信息代码。
然后获取用户信息代码只需三步:获取code ----》 通过code获取access_token和openId ---》 通过access_token和openId获取用户信息。
以上便是整体套路,当然官网上也有,但具体如何实现呢?
不着急,咱们一步一步来!
第一步:微信登录按钮
它其实就是一个连接,不过想得到这个链接,有一点点麻烦。
1、设置。 微信公众平台---》接口权限---》网页授权---》修改--》进入如下页面---》设置网页授权域名(域名,不含http://),其实就是微信调你的java方法的项目路径或项目域名 ,如:www.zzff.net/pp ---》点击设置后弹出页面(大致意思,将MP_verify_31qRIDcjN8ZD1lVJ.txt放在你项目路径下面,如:www.ffzz.net/pp/MP_verify_31qRIDcjN8ZD1lVJ.txt 能访问到) ---》点击确认,授权回调页面域名设置成功!
2、拼链接。 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387& redirect_uri = 授权回调页面域名/你的action(即微信授权后跳向的地址)
& response_type=code(固定的) & scope = snsapi_userinfo(或者snsapi_base默认授权) & state=STATE#wechat_redirect
如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
这个链接中参数的具体含义,官方解释如下:
参数 | 是否必须 | 说明 |
---|---|---|
appid | 是 | 公众号的唯一标识 |
redirect_uri | 是 | 授权后重定向的回调链接地址,请使用urlencode对链接进行处理 |
response_type | 是 | 返回类型,请填写code |
scope | 是 | 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息) |
state | 否 | 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 |
#wechat_redirect | 是 | 无论直接打开还是做页面302重定向时候,必须带此参数 |