一、获取 access_token
auth.getAccessToken
获取小程序全局唯一后台接口调用凭据(access_token)。调用绝大多数后台接口时都需使用 access_token,开发者需要进行妥善保存。 如使用云开发,可通过云调用免维护 access_token 调用。如使用云托管,也可以通过微信令牌/开放接口服务免维护 access_token 调用。
请求地址
GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
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":"ACCESS_TOKEN","expires_in":7200}
二、获取小程序 scheme 码
urlscheme.generate
获取小程序 scheme 码,适用于短信、邮件、外部网页、微信内等拉起小程序的业务场景。目前仅针对国内非个人主体的小程序开放,详见获取 URL scheme。
请求地址
POST https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN
成功时返回示例:
官方上对API请求的传参方式 说得并不清晰。这里有几个要注意的点:
1、在请求时传参方式并不是键值 多参形式,而是例如下面的 单个 json字符串
{
"jump_wxa":
{
"path": "/pages/index/index",
"query": "arg=1",
"env_version":"develop"
},
"expire_type":1,
"expire_interval":1
}
2、页面带参(query)
如果要给page带参不能像平常一样在路径上拼接:"/pages/index/index?arg=1"
,这会直接报路径错误。
正常的写法应该是作为另外一个参数 :"query": "arg=1"
如果返回47001就说明请求数据格式不对
转载请标明 原文地址