【微信】未关注公众号授权获取基本信息(头像昵称等)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt_fucker/article/details/75378302

引导用户点击设计好的链接,形如:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9a3d0c9c3170978c&redirect_uri=http%3a%2f%2fwx.dizaozhe.cc%2fwechatconfig%2fdesc&response_type=code&scope=snsapi_userinfo&state=ssaweqeqew#wechat_redirect

appid:为开发者微信公众号的appid。
redirect_uri:微信验证成功后跳转到的重定向链接。编码后的地址。
response_type:code
scope:静默方式还是授权方式,一个只获取openid后者获取详细的基本信息
state:双重认证的状态码 随意填写不会影响到程序。

redirect_uri/?code=CODE&state=STATE

授权完成之后,微信会将生成的code和传入的state作为参数挂在链接的后面。code使用之后就不能再次使用,保质期为5分钟。

关注公众号的用户,获取基本信息的链接为:

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

需要的参数为:
access_token | 是 调用接口凭证
openid | 是 普通用户的标识,对当前公众号唯一
lang |否 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

注:此处的access_token是通过基本方式获取的access_token

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

返回用户的基本信息,其中包括nickname【用户的昵称】、头像,城市等其中subscribe【用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。】、subscribe_time【用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间】、unionid【只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。】、remark【公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注】、groupid【用户所在的分组ID(兼容旧的用户分组接口)】、tagid_list【用户被打上的标签ID列表】,未关注的用户获取不到上述数据

未关注的用户 获取基本信息的链接为

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

需要注意的是此处的access_token不是上面的access_token,而是通过生成的code通过微信来换取的。

链接为:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

返回值为:
{ 
"access_token":"ACCESS_TOKEN", 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同   
 "expires_in":7200,  access_token接口调用凭证超时时间,单位(秒)  
 "refresh_token":"REFRESH_TOKEN",    用户刷新access_token
 "openid":"OPENID",    用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
 "scope":"SCOPE" 用户授权的作用域,使用逗号(,)分隔
 } 

拿到这个access_token和openid,请求获取该用户的基本信息。

猜你喜欢

转载自blog.csdn.net/zt_fucker/article/details/75378302