1、公众号后台配置
1.1、JS接口安全域名
打开设置/公众号设置/功能设置菜单,设置JS代码中异步调用接口的合法域名
1.2、IP白名单
打开开发/基本配置/公众号开发信息菜单,设置请求微信服务器 的合法 IP 地址。
1.3、开发者密码(AppSecret)
打开 开发/基本配置/公众号开发信息菜单。在与微信服务器通讯时,无论是发送还是接收数据,都需要该参数加解密,相当于salt
1.4、开发者ID(AppID)
开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。
2、初始化
2.1、获取access_token
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用。access_token的存储至少要有 512个字符。有效期为7200秒(即2个小时),需定时刷新,重复获取将导致上次获取的access_token失效。
注意:在刷新过程中,开发者服务器可对外继续输出的老access_token,此时公众平台后台会保证在5分钟内,新老access_token都可用。
请求地址
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
请求参数说明
| 参数 | 是否必须 | 说明 |
|---|---|---|
| grant_type | 是 | 固定值:client_credential |
| appid | 是 | 第三方用户唯一凭证 |
| secret | 是 | 第三方用户唯一凭证密钥,即appsecret |
返回参数说明
| 参数 | 说明 |
|---|---|
| access_token | 获取到的凭证 |
| expires_in | 凭证有效时间,单位:秒 |
返回码说明 出错时才会有,获取成功并无返回码
| 返回码 | 说明 |
|---|---|
| -1 | 系统繁忙,此时请开发者稍候再试 |
| 0 | 请求成功 |
| 40001 | AppSecret错误或者AppSecret不属于这个公众号,请开发者确认AppSecret的正确性 |
| 40002 | 请确保grant_type字段值为client_credential |
| 40164 | 调用接口的IP地址不在白名单中,请在接口IP白名单中进行设置。(小程序及小游戏调用不要求IP地址在白名单内。) |
| 89503 | 此IP调用需要管理员确认,请联系管理员 |
| 89501 | 此IP正在等待管理员确认,请联系管理员 |
| 89506 | 24小时内该IP被管理员拒绝调用两次,24小时内不可再使用该IP调用 |
| 89507 | 1小时内该IP被管理员拒绝调用一次,1小时内不可再使用该IP调用 |
具体详见官方文档
2.2、获取jsapi_ticket
jsapi_ticket是公众号用于调用微信JS接口的临时票据。
有效期为7200秒,通过access_token来获取。调用次数有限,频繁刷新jsapi_ticket会导致api调用受限,需要全局缓存 jsapi_ticket
请求地址
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi
请求参数说明
| 参数 | 是否必须 | 说明 |
|---|---|---|
| access_token | 是 | 调用凭据 |
| type | 是 | 固定值:jsapi |
返回参数说明
| 参数 | 说明 |
|---|---|
| errcode | 返回码,返回码参考上面 |
| errmsg | 描述信息 |
| ticket | 获取的票据 |
| expires_in | 过期时间 |
2.3、签名