微信公众平台开发(26) ACCESS TOKEN
本文介绍微信公众平台下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
在微信后台使用找到高级功能-开发模式
成为开发者之后,就可以看到appid和appsecert了
如果没有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
附:全局返回码说明
公众号每次调用接口时,可能获得正确或错误的返回码,开发者可以根据返回码信息调试接口,排查错误。
全局返回码说明如下:
返回码 | 说明 |
---|---|
-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 |
转载于:https://www.cnblogs.com/lanzhi/p/6467565.html
微信公众平台开发(26) ACCESS TOKEN相关推荐
- 微信发ascii_微信公众平台开发(107) 分享到朋友圈和发送给好友
关键字:微信公众平台 JSSDK 发送给朋友 分享到朋友圈 onMenuShareTimeline onMenuShareAppMessage 作者:方倍工作室 原文:http://www.cnblo ...
- 微信公众平台消息储存mysql php_微信公众平台开发如何保证access
[编者按]由CSDN和<程序员>杂志联合主办的2014年微信开发者大会将于8月23日在北京举行.内容涵盖企业服务号开发和高级应用.企业号开发.业务系统对接.高级接口运用.微信支付.智能客服 ...
- 微信公众平台开发(104) 自定义菜单扫一扫、发图片、发地理位置
关键字:微信公众平台 自定义菜单 扫一扫 发图片 发地理位置 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-new-type.htm ...
- 微信公众平台开发最佳实践(第2版)
<微信公众平台开发最佳实践 第2版> 微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 前言 出版说明 自从方倍工作室在博客园推出微信 ...
- 微信公众平台开发(82) 天气预报
在这篇教程中,我们将介绍如何在微信公众平台上开发天气预报功能.我们将使用中国天气网的气象数据接口来获取天气信息. 这篇教程将介绍以下内容: 获取中国天气网的气象数据 在微信公众平台中回复天气 一.中国 ...
- 微信公众平台开发(58)自定义菜单
微信公众平台开发 微信公众平台开发模式 企业微信公众平台 自定义菜单 开发教程 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/weixin-58-cus ...
- 微信公众平台开发(102) 模板消息
关键字:微信公众平台 模板消息 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/wechat-template-message.html 在这篇微信公众平台开 ...
- 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——3.3 微信开发者中心...
本节书摘来自华章计算机<微信公众平台开发:从零基础到ThinkPHP5高性能框架实践>一书中的第3章,第3.3节,作者 方倍工作室,更多章节内容可以访问云栖社区"华章计算机&qu ...
- 微信公众平台开发新手教程(图文具体解释)
因为微信的大热.为了更好的方便使用微信的用户查询一些信息.这篇文章是入门级的微信公众平台开发教程,须要的朋友能够參考下 在这篇新手教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络 ...
最新文章
- python编程爱因斯坦的问题_教你如何用编程解决爱因斯坦的数学问题
- boost::geometry::concepts::check用法的测试程序
- win10怎么共享打印机_共享打印机添加不上怎么办?建议收藏备用
- Android 音频开发(二) 采集一帧音频数据
- Spring的入门学习笔记 (注解)
- 业务运维:站在企业转型风口上的云智慧
- 非NLB网段的客户端无法访问NLB
- [转载]利用TTL值来鉴别操作系统
- 安装keil5时,注册机在解压后消失的解决以及使用注册机破解keil5时,无法破解
- 海思平台Hi3796MV200芯片处理器介绍
- 审稿较快的2区计算机sci期刊,哪些SCI期刊的审稿速度快
- 锐捷交换机密码恢复操作
- Android 白天黑夜模式切换
- appstore开发者中文名称修改
- 左右滑屏设置_android手势滑屏及左右滑屏
- 小米与vivo相争,高通成为最大受益者
- OCMJ8X15B金鹏液晶屏驱动程序+字库规律
- PPT中如何将图片灰化(黑白化)
- Unity 3D数学 — 向量运算
- 分享:Babel7的配置
热门文章
- php中的static,php中的static
- 多目标优化算法_【实验室论文】基于多种群协同演化的约束多目标优化算法
- 安装python缺少dll_解决Python安装时报缺少DLL问题【两种解决方法】
- java list 替换 多线程_Java多线程处理List数据
- 计算机配置中无可移动设备访问,USB连接正常,但是我的电脑中不显示可移动 – 手机爱问...
- java async mysql,java-Spring MVC Async任务同步运行
- Windows 操作系统的安全设置
- 埃洛等级分系统【转自百度百科】
- 转载:使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
- 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)