微信公众号获取用户头像昵称,用户信息
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:140
1.关注了公众号,获取用户信息
https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
获取code,scope=snsapi_base。
url = f"https://api.weixin.qq.com/sns/oauth2/access_token?appid={APPID}&secret={SECRET}&code={code}&grant_type=authorization_code"
通过拿到的code获取openid
url = f"https://api.weixin.qq.com/cgi-bin/user/info?access_token={ACCESS_TOKEN}&openid={openid}"
通过openid加ACCESS_TOKEN全局唯一接口调用凭据获取用户信息
获取用户信息
这里的ACCESS_TOKEN是全局唯一接口调用凭据所以大写表示
并且这里的获取用户信息只有关注了公众号的才能获取到,没有关注公众号的获取不到。
2.未关注公众号的用户
获取code,scope=snsapi_userinfo。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect
然后获取openid和access_token
url = f"https://api.weixin.qq.com/sns/oauth2/access_token?appid={APPID}&secret={SECRET}&code={code}&grant_type=authorization_code"
然后通过openid和返回的access_token 获取到用户信息
url = f"https://api.weixin.qq.com/sns/userinfo?access_token={access_token}&openid={openid}"
这里一定要注意!!!这里的access_token不是全局唯一接口调用凭据!而是网页授权接口调用凭证,获取openid接口的会返回这个字段!前提是获取code的时候 scope=snsapi_userinfo