最近在作公司的微信接入部分。目前接入部分代码已经由别人写好,可是还有不少问题。通过几天痛苦的看文档和代码,整理一下接入流程,大体至关于微信官方文档的扩展版本。附上官网文档连接。html
微信登陆接入分为两种,一种是只须要用户openid,另外一种是须要用户昵称和头像等乱七八糟的另外一些信息。第一种能够不通过受权,若是用户已经关注该公众号,则该公众号的回调连接能够直接获取到用户openid。第二种不管是否关注公众号,都必须通过受权,也就是一个页面带绿色大按钮那种,官方文档有图。可是第二种接入,也必须先走完第一种接入流程。api
服务号得到高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo,这是官网文档的说法。获取的连接为:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
appid和回调连接不用多说,state是一个可选参数,惟一须要重视的就是scope这个参数。选snsapi_base,可以获取到openid,这个能够用做惟一用户id使用。若是不须要用户昵称,让用户后续自行设置,那么到此为止就能够了。微信
走完第一步之后,能够获取到openid同时能够获取到一个access_token,这个token专门用来获取用户其余信息。可是,重点来了,想获取用户其余信息,第一步使用的scope参数,必须是snsapi_userinfo。第一步获取完信息之后,用access_token作参数,去https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
这个连接里,调用一次get函数,从返回值里就能够取到用户数据了。app
若是有什么遗漏错误欢迎在下面留言。函数