关于微信获取用户信息,需要用到两个token

微信开发的官方文档实在是坑的雅痞,我是在查阅了许多博客之后才弄清楚,获取用户信息的token不是和openid通知书返回的按个,在这里整理一下
官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

首先第一步:用户同意授权,获取code
这一步不多赘述,主要讲后面的两个token问题.
请求格式为 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
里面的参数用真是参数代替即可,请求返回的参数为code

第二步 获取用户的openid和token
请求格式:https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=code&grant_type=authorization_code
参数为第一步请求会的的参数code,appid(公众号唯一标识)和secret(公众号的appsecret),请求成功之后会返回用户的access_token和openid,这里出现的access_token就是第一个token,我们为了区别记为token1.

第三步 获取用户第二个token
这一步之前需要先设置微信公众号和微信商户的调用地址和ip白名单,具体设置方法可百度一下
请求格式:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret
这里的参数appid和secret与第二部相同,请求成功后返回了access_token值,这里的token记为token2.

第三步 获取用户信息
请求格式:https://api.weixin.qq.com/cgi-bin/user/info?access_token=token2&openid=openId&lang=zh_CN'
这里请求的时候参数access_token值就是第三步获取到的token2,加上第二步获取到的openid就OK
这样就能正确的获取到用户信息了

发布了38 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_35510729/article/details/89915417
今日推荐