이 글에서는 WeChat 공개 플랫폼에서 액세스 토큰을 얻는 개념과 방법을 소개합니다.
1. Access Token
access_token은 공용 계정의 전역 고유 티켓입니다. 각 인터페이스를 호출할 때 access_token을 사용해야 합니다. . 일반적인 상황에서는 access_token이 7200초 동안 유효합니다. 반복적으로 획득하면 마지막 access_token이 무효화됩니다.
공식 계정은 AppID 및 AppSecret을 사용하여 이 인터페이스를 호출하여 access_token을 얻을 수 있습니다. AppID, AppSecret은 개발모드에서 획득 가능합니다. (개발자여야 하며, 계정에 이상이 없어야 합니다.) 모든 WeChat 인터페이스를 호출할 때는 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 |
반환 설명
일반적인 상황에서 WeChat은 다음 JSON 데이터 패킷을 공개 계정에 반환합니다.
{"access_token":"ACCESS_TOKEN","expires_in":7200}
参数 | 说明 |
---|---|
access_token | 获取到的凭证 |
expires_in | 凭证有效时间,单位:秒 |
오류가 발생하는 경우 WeChat은 오류 코드 및 기타 정보를 반환합니다. JSON 데이터 패킷의 내용은 다음과 같습니다(예: AppID 잘못된 오류):
{"errcode":40013,"errmsg":"invalid appid"}
WeChat 백엔드에서 고급 기능을 찾는 데 사용 - 개발 모드
개발자가 된 후 appid와 appsecert를 볼 수 있습니다
URL과 토큰이 없는 경우 먼저 다음 Fangbei Studio 테스트를 사용하여
URL: http://discuz.comli.com/test.php
를 통과할 수 있습니다. 토큰: weixin
을 얻는 절차는 다음과 같이 구현됩니다
$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 |
인증서 획득 |
||||||
만료_인 |
바우처 유효 시간, 단위: 초 |
返回码 | 说明 |
---|---|
-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 |
42001 | access_token超时 |
42002 | refresh_token超时 |
42003 | oauth_code超时 |
43001 | 需要GET请求 |
43002 | 需要POST请求 |
43003 | 需要HTTPS请求 |
43004 | 需要接收者关注 |
43005 | 需要好友关系 |
44001 | 多媒体文件为空 |
44002 | POST的数据包为空 |
44003 | 图文消息内容为空 |
44004 | 文本消息内容为空 |
45001 | 多媒体文件大小超过限制 |
45002 | 消息内容超过限制 |
45003 | 标题字段超过限制 |
45004 | 描述字段超过限制 |
45005 | 链接字段超过限制 |
45006 | 图片链接字段超过限制 |
45007 | 语音播放时间超过限制 |
45008 | 图文消息超过限制 |
45009 | 接口调用超过限制 |
45010 | 创建菜单个数超过限制 |
45015 | 回复时间超过限制 |
45016 | 系统分组,不允许修改 |
45017 | 分组名字过长 |
45018 | 分组数量超过上限 |
46001 | 不存在媒体数据 |
46002 | 不存在的菜单版本 |
46003 | 不存在的菜单数据 |
46004 | 不存在的用户 |
47001 | 解析JSON/XML内容错误 |
48001 | api功能未授权 |
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中文网!