微信公众平台开发 OAuth2.0网页授权认证 (3)

正确时返回的JSON数据包如下:

{    "access_token":"ACCESS_TOKEN",    "expires_in":7200,    "refresh_token":"REFRESH_TOKEN",    "openid":"OPENID",    "scope":"SCOPE" } 参数描述
access_token   网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同  
expires_in   access_token接口调用凭证超时时间,单位(秒)  
refresh_token   用户刷新access_token  
openid   用户唯一标识  
scope   用户授权的作用域,使用逗号(,)分隔  


错误时微信会返回JSON数据包如下(示例为Code无效错误):

{"errcode":40029,"errmsg":"invalid code"}

全局返回码说明

第四步:拉取用户信息(需scope为 snsapi_userinfo)

如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。

请求方法

http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

参数说明

参数描述
access_token   网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同  
openid   用户的唯一标识  
lang   返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语  

返回说明

正确时返回的JSON数据包如下:

{    "openid":" OPENID",    " nickname": NICKNAME,    "sex":"1",    "province":"PROVINCE"    "city":"CITY",    "country":"COUNTRY",     "headimgurl":    "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",  "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ] } 参数描述
openid   用户的唯一标识  
nickname   用户昵称  
sex   用户的性别,值为1时是男性,值为2时是女性,值为0时是未知  
province   用户个人资料填写的省份  
city   普通用户个人资料填写的城市  
country   国家,如中国为CN  
headimgurl   用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空  
privilege   用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)  


错误时微信会返回JSON数据包如下(示例为openid无效):

{"errcode":40003,"errmsg":" invalid openid "}

全局返回码说明

附:检验授权凭证(access_token)是否有效

请求方法

http:GET(请使用https协议) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

参数说明

参数描述
access_token   网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同  
openid   用户的唯一标识  

返回说明

正确的Json返回结果:

{ "errcode":0,"errmsg":"ok"}

错误时的Json返回示例:

{ "errcode":40003,"errmsg":"invalid openid"}

案例代码:

请求授权页面的构造方式

url在线编码工具:?type=4

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

前端代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "";><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"><meta content="yes"><meta content="black"><meta content="telephone=no"><title>会员注册</title><script type="text/" src="jQuery.js"></script>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjxxj.html