微信公众号获取用户头像昵称,用户信息

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 

### 使用微信公众号 API 获取用户信息 为了通过微信公众号获取用户信息,开发者可以利用 `oauth2` 授权机制来实现这一功能。当用户同意授权后,可以通过接口拉取用户信息[^1]。 具体来说,在用户关注并点击链接进入授权页面之后,如果用户同意授权,则系统会重定向到开发者填写的回调地址,并附带上 code 参数以及 state 参数(如果有设置)。此时可使用此 code 请求换取 access_token 和 openid。其中,openid 是用于标识用户的唯一 ID;而 access_token 则是用来调用微信其他接口所需的凭证。 一旦获得了 access_token 和 openid 后,就可以请求如下 URL 来获取用户基本信息: ``` https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN ``` 该接口返回的数据是一个 JSON 对象,包含了用户昵称头像等多个字段[^2]。 ```json { "subscribe": 1, "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", "nickname": "Band", "sex": 1, "language": "zh_CN", "city": "广州", "province": "广东", "country": "中国", "headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6dxQ8SiaKqCvm05jNlAwrFFGSibmTH7CgF9cjlw5WicnVTBicvJXfMDuZrbibu45GpaT9EM6e1SKonA/0", "subscribe_time": 1382694957, ... } ``` 上述过程中的每一个环节都至关重要,任何一步出现问题都会影响最终能否成功取得用户资料。因此建议仔细阅读官方文档并按照指引操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值