获取微信用户openid及基本信息的的三种方法

方法一:通过全局Access Token获取用户基本信息

  1. 用户关注以及回复消息的时候,均可以获得用户的OpenID

  2. 然后使用access_token接口,请求获得全局Access Token
    https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

  3. 再使用全局ACCESS_TOKEN获取OpenID的详细信息
    https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID

方法二:通过OAuth2.0方式弹出授权页面获得用户基本信息

  1. 首先微信公众号内配置回调域名
  2. 构造请求url如下:
    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://www.jnxq.net/oauth2.php&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
    页面URL中的scope=snsapi_userinfo 表示应用授权作用域为请求用户信息
  3. 回调页面得到链接如下,回调url中将包含参数code
    http://www.jnxq.net/oauth2.php?code=CODE&state=1
  4. 再使用code换取oauth2的授权access_token
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code
    获得授权Access Token和openid。
  5. 再使用授权Access Token获取用户信息
    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN

方法三:通过OAuth2.0方式不弹出授权页面获得用户基本信息

  1. 首先在微信公众号中配置回调域名
  2. 构造请求url如下:
    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=Url&response_type=code&scope=snsapi_base&state=1#wechat_redirect
    页面URL中的
    scope=snsapi_base 表示应用授权作用域为 不弹出授权页面,直接跳转,只获取用户openid
  3. 返回回调页面如下
    http://credit.zzpmi.cn?code=CODE&state=1
    这里获得到了code
  4. 再使用code获取OpenID
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code
  5. 然后获取全局Access Token【以下与方法一中相同】
    https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=“.appid."&secret=". appid."&secret=". appsecret
    返回结果access_token。
  6. 再使用全局ACCESS_TOKEN获取OpenID的详细信息
    https://api.weixin.qq.com/cgi-bin/user/info?access_token=“.ACCESS_TOKEN."&openid=". ACCESS_TOKEN."&openid=". openid.”&lang=zh_CN
    这种适合已经有OAuth2.0网页授权的服务号在网页中使用,且不会弹出“微信登录”页面。减少给用户的打扰。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值