getAccessToken
获取多端后台接口调用凭据,token有效期为7200s,开发者需要进行妥善保存。
调用方式
请求参数
属性 | 类型 | 说明 |
grant_type | string | 授权类型: client_credential |
appid | string | 多端应用 ID,在多端应用控制台应用详情页可以查看;不是小程序 Appid,也不是移动应用 Appid |
secret | string | 多端应用 secret,在多端应用控制台应用详情页可以查看;不是小程序 secret,也不是移动应用 secret |
返回参数
属性 | 类型 | 说明 |
access_token | string | 获取到的凭证 |
expires_in | number | 凭证有效时间,单位:秒。目前是7200秒之内的值。 |
错误码
错误码 | 错误码取值 | 解决方案 |
-1 | system error | 系统繁忙,此时请开发者稍候再试 |
40001 | invalid credential access_token isinvalid or not latest | 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的多端应用调用接口 |
40013 | invalid appid | 不合法的 AppID ,请开发者检查 AppID 的正确性,避免异常字符,注意大小写 |
其他说明
access_token 的存储与更新
- access_token 的存储至少要保留 512 个字符空间;
- access_token 的有效期目前为 2 个小时,需定时刷新,重复获取将导致上次获取的 access_token 失效;
- 建议开发者使用中控服务器统一获取和刷新 access_token,其他业务逻辑服务器所使用的 access_token 均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致 access_token 覆盖而影响业务;
- access_token 的有效期通过返回的 expires_in 来传达,目前是7200秒之内的值,中控服务器需要根据这个有效时间提前去刷新。在刷新过程中,中控服务器可对外继续输出的老 access_token,此时多端后台会保证在5分钟内,新老 access_token 都可用,这保证了第三方业务的平滑过渡;
- access_token 的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新 access_token 的接口,这样便于业务服务器在API调用获知 access_token 已超时的情况下,可以触发 access_token 的刷新流程。
详情可参考微信公众平台文档 《获取access_token》