微信公众平台开发-ACCESS TOKEN

高洛峰
发布: 2017-02-28 10:14:58
原创
2244 人浏览过

 本文介绍微信公众平台下Access Token的概念及获取方法。

一、Access Token

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。

公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在开发模式中获得(需要已经成为开发者,且帐号没有异常状态)。注意调用所有微信接口时均需使用https协议。

接口调用请求说明

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

参数说明

参数 是否必须 说明
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"}
登录后复制

二、AppId和AppSecret

在微信后台使用找到高级功能-开发模式

微信公众平台开发-ACCESS TOKEN

成为开发者之后,就可以看到appid和appsecert了

微信公众平台开发-ACCESS TOKEN

如果没有url和Token , 你可以先用方倍工作室的下面的测试通过

URL:   http://discuz.comli.com/test.php
Token:  weixin

三、获取Access Token

程序实现如下

$appid = "";
$appsecret = "";
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
$jsoninfo = json_decode($output, true);
$access_token = $jsoninfo["access_token"];
登录后复制

你也可以直接在浏览器地址栏中,拼接出地址,执行后,获得如下数据

{"access_token":"N2L7KXa084WvelONYjkJ_traBMCCvy_UKmpUUzlrQ0EA2yNp3Iz6eSUrRG0bhaR_viswd50vDuPkY5nG43d1gbm-olT2KRMxOsVE08RfeD9lvK9lMguNG9kpIkKGZEjIf8Jv2m9fFhf8bnNa-yQH3g","expires_in":7200}
登录后复制

参数说明如下


参数

说明

access_token

获取到的凭证

expires_in

凭证有效时间,单位:秒


或者使用官方的接口调试工具,地址为:

使用网页调试工具调试自定义菜单接口

微信公众平台开发-ACCESS TOKEN

点击检查问题得,得到

微信公众平台开发-ACCESS TOKEN

这样也获得了access token


附:全局返回码说明

公众号每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误。

全局返回码说明如下:

返回码说明
-1系统繁忙
0请求成功
40001获取access_token时AppSecret错误,或者access_token无效
40002不合法的凭证类型
40003不合法的OpenID
40004不合法的媒体文件类型
40005不合法的文件类型
40006不合法的文件大小
40007不合法的媒体文件id
40008不合法的消息类型
40009不合法的图片文件大小
40010不合法的语音文件大小
40011不合法的视频文件大小
40012不合法的缩略图文件大小
40013不合法的APPID
40014不合法的access_token
40015不合法的菜单类型
40016不合法的按钮个数
40017不合法的按钮个数
40018不合法的按钮名字长度
40019不合法的按钮KEY长度
40020不合法的按钮URL长度
40021不合法的菜单版本号
40022不合法的子菜单级数
40023不合法的子菜单按钮个数
40024不合法的子菜单按钮类型
40025不合法的子菜单按钮名字长度
40026不合法的子菜单按钮KEY长度
40027不合法的子菜单按钮URL长度
40028不合法的自定义菜单使用用户
40029不合法的oauth_code
40030不合法的refresh_token
40031不合法的openid列表
40032不合法的openid列表长度
40033不合法的请求字符,不能包含\uxxxx格式的字符
40035不合法的参数
40038不合法的请求格式
40039不合法的URL长度
40050不合法的分组id
40051分组名字不合法
41001缺少access_token参数
41002缺少appid参数
41003缺少refresh_token参数
41004缺少secret参数
41005缺少多媒体文件数据
41006缺少media_id参数
41007缺少子菜单数据
41008缺少oauth code
41009缺少openid
42001access_token超时
42002refresh_token超时
42003oauth_code超时
43001需要GET请求
43002需要POST请求
43003需要HTTPS请求
43004需要接收者关注
43005需要好友关系
44001多媒体文件为空
44002POST的数据包为空
44003图文消息内容为空
44004文本消息内容为空
45001多媒体文件大小超过限制
45002消息内容超过限制
45003标题字段超过限制
45004描述字段超过限制
45005链接字段超过限制
45006图片链接字段超过限制
45007语音播放时间超过限制
45008图文消息超过限制
45009接口调用超过限制
45010创建菜单个数超过限制
45015回复时间超过限制
45016系统分组,不允许修改
45017分组名字过长
45018分组数量超过上限
46001不存在媒体数据
46002不存在的菜单版本
46003不存在的菜单数据
46004不存在的用户
47001解析JSON/XML内容错误
48001api功能未授权
50001用户未授权该api


附:接口频率限制说明

公众号调用接口并不是无限制的。为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回码:

{"errcode":45009,"errmsg":"api freq out of limit"}
登录后复制

各接口调用频率限制如下:

接口 每日限额
获取access_token 2000
自定义菜单创建 1000
自定义菜单查询 10000
自定义菜单删除 1000
创建分组 1000
获取分组 1000
修改分组名 1000
移动用户分组 100000
上传多媒体文件 5000
下载多媒体文件 10000
发送客服消息 500000
获取带参数的二维码 10000
获取关注者列表 500
获取用户基本信息 5000000
获取网页授权access_token 2000000
刷新网页授权access_token 2000000
网页授权获取用户信息 2000000


更多微信公众平台开发-ACCESS TOKEN 相关文章请关注PHP中文网!


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板