Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23171
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 61
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-03 11:15
文章分类
文章存档

2016年(5)

我的朋友
最近访客

分类: PHP

2016-08-04 11:54:36


开发者账号  网站审核通过  获取APPID  AppSecret


1、授权登陆,重定向到第三方网站,带上临时授权的code
2、通过code参数加上AppID和AppSecret等,通过API换取access_token;
3、通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

第一步:请求code

connect/qrconnect?appid=[APPID]&redirect_uri=[重定向的url]&response_type=code&scope=[snsapi_login]&state=STATE#wechat_redirect

注:若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login
【重定向的url需要urlencode】

参数说明
参数 是否必须 说明
appid 是 应用唯一标识
redirect_uri 是 重定向地址,需要进行UrlEncode
response_type 是 填code
scope 是 应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可
state 否 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验

第二步:通过code获取access_token

$code = $_REQUEST['code'];


[APPID]&secret=[AppSecret]&code=[$code]&grant_type=authorization_code

返回的是json数据,通过curl处理,json_decode转化为数组$data
$access_token = $data['access_token'];
$refresh_token = $data['refresh_token'];
$openid = $data['openid'];


返回结果参数:
参数 说明
access_token 接口调用凭证
expires_in access_token接口调用凭证超时时间,单位(秒)
refresh_token 用户刷新access_token
openid 授权用户唯一标识
scope 用户授权的作用域,使用逗号(,)分隔
unionid 当且仅当该网站应用已获得该用户的userinfo授权时,才会出现该字段。


第三步【补充】:刷新access_token的有效期
说明:access_token有效期(目前为2个小时)较短,当access_token超时后,可以使用refresh_token进行刷新


请求方法:
[APPID]&grant_type=refresh_token&refresh_token=[$refresh_token]


参数说明
参数 是否必须 说明
appid 是 应用唯一标识
grant_type 是 填refresh_token
refresh_token 是 填写通过access_token获取到的refresh_token参数


返回结果参数:
access_token 接口调用凭证
expires_in access_token接口调用凭证超时时间,单位(秒)
refresh_token 用户刷新access_token
openid 授权用户唯一标识
scope 用户授权的作用域,使用逗号(,)分隔


第四步:通过access_token调用接口


【授权后的相关接口到微信开放平台找相关参数】
举例:获取用户个人信息
[$access_token]&openid=[$openid]

返回json数据参数说明:
参数 说明
openid 普通用户的标识,对当前开发者帐号唯一
nickname 普通用户昵称
sex 普通用户性别,1为男性,2为女性
province 普通用户个人资料填写的省份
city 普通用户个人资料填写的城市
country 国家,如中国为CN
headimgurl 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
privilege 用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
unionid 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的

阅读(591) | 评论(0) | 转发(0) |
0

上一篇:PHP联合【新浪微博】实现第三方登陆

下一篇:没有了

给主人留下些什么吧!~~