微信获取accesstoken以及openID

转自http://blog.csdn.net/dianxiaoer51/article/details/46311531

微信的openID和accesstoken是唯一的身份标识。非常重要,其中accesstoken的有效期只有两个小时(官方可能修改)。

获取accesstoken事例: 官方文档 
1 第一步:用户同意授权,获取code

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=URL&response_type=code 
&scope=snsapi_userinfo&state=123#wechat_redirect

APPID这个是你的公众号的APPID 
URL这个是你自己的跳转地址 
scope有两个选项:snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)

2 第二步:通过code换取网页授权access_token 
下面是PHP语句,写在 URL所对应的网页中

$code = $_GET['code'];//获取code
$weixin = file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid=这里是你的APPID&secret=这里是你的SECRET&code=".$code."&grant_type=authorization_code");//通过code换取网页授权access_token
$jsondecode = json_decode($weixin); //对JSON格式的字符串进行编码
$array = get_object_vars($jsondecode);//转换成数组
$openid = $array['openid'];//输出openid

获取openID事例: 官方文档 
token在官方说明中请注意一段话:

如果第三方不使用中控服务器,而是选择各个业务逻辑点各自去刷新access_token,那么就可能会产生冲突,导致服务不稳定。

在申请微信公众号后我们可以知道自己公众号的appid以及secret,请求方式如下:

http请求方式: GET 
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

返回的值为Json格式,需要使用PHP进行解析

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值