微信公众平台开发 - access_token 获取及应用(含源码)
作者: -
很多系统中都有 access_token 参数,对于微信公众平台的 access_token 参数,微信服务器判断该公众平台所拥有的权限,允许或者禁止公众平台进行当前的操作。
一、access_token 作用及使用场景
(一)access_token 的作用
access_token 由公众号的 AppID 和 AppSecret 组成,所以具有识别公众号的作用。
(二)access_token 的使用场景
可以把它比喻成一个钥匙,通过 access_token,微信公众号才能调用微信接口,如微信服务器 IP 的获取接口,长链接转短链接接口、获取微信关注用户列表及获取用户基本信息的接口等等。
微信服务器也是通过 access_token 来判断公众号是否有调用该接口的权限。如在调用微信服务器 IP 获取接口时,需要带上 access_token 参数,微信在接收到请求后会先判断该 access_token 的公众号是否具有获取微信服务器 IP 的接口权限,如果有,返回查询的数据,如果没有,会返回该公众号无获取微信服务器 IP 接口的权限。
(三)access_token 的特点
access_token 存储至少要保留 512 个字符空间。access_token 的有效期目前为 2 个小时,重复获取将导致上次获取的 access_token 失效。
(四)access_token 的存储调用策略
access_token 在后期应用开发中应采取的策略,如图所示,将 access_token 存储到中控服务器,所有需要用到该参数的程序都应访问中控服务器获取 access_token,中控服务器判断当前 access_token 是否有效并刷新即可。
(五)获取 access_token 值
1. 接口说明
http 请求方式: GET
接口调用地址:
调用参数说明,如表所示:
参数 |
是否必须 |
说明 |
grant_type |
是 |
获取 access_token 填写 client_credential |
appid |
是 |
第三方用户唯一凭证 |
secret |
是 |
第三方用户唯一凭证密钥,即 appsecret |
返回说明:
正常情况下,微信会返回 JSON 数据包给公众号:
{"access_token":"ACCESS_TOKEN","expires_in":7200}
返回参数说明:
参数 |
说明 |
access_token |
获取到的凭证 |
expires_in |
凭证有效时间,单位:秒 |
错误时微信会返回错误码等信息,JSON 数据包示例如下(该示例为 AppID 无效错误):
{"errcode":40013,"errmsg":"invalid appid"}
2. 参数 AppId 和 AppSecret
获取 access_token 时会用到两个非常重要的参数,即 AppId 和 AppSecret,可在开发 - 基本配置中查看如图所示。
3. 获取 access_token
- php
- /*
- *获取微信token
- */
- //1.包含wei_function.php
- require('wei_function.php');
- $appid="wx78478e595939c538";
- $secret="5540e8ccab4f71dfad752f73cfb85780";
- //2.获取token地址,并替换$appid和$secret
- $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret."";
- //3.调用wei_function.php文件内的getdata()函数
- $output=getdata($url);
- //4.json_decode解码JSON数据转变为数组,并通过
- $token=object_array(json_decode($output));
- //输出数组
- //print_r($token);
- //5.输出access_token
- echo $token['access_token'];
- ?>
效果图:
- 代码解析
- require('wei_function.php');该函数文件可以,在该书中第95页有详细讲解。
来源: http://www.cnblogs.com/mxlbook/p/6491931.html