Java公众号开发(一):获取access_token

科技技术前后端 2024-04-06 01:44:06

1、 access_token介绍

access_token是公众号的全局唯一接口调用凭据,公众号开发调用各接口时都需使用access_token。access_token的存储至少要保留512个字符空间。有效期目前为2个小时,如果超时需要重复获取新的token,那么上次获取的access_token也会失效,其实这也是一种安全机制,只允许有一个有效的token。

2、请求说明

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数名称

是否必须

说明

grant_type

默认值client_credential

appid

第三方用户唯一凭证,appid

secret

第三方用户唯一凭证密钥,即appsecret

3、 响应说明

正常返回

{ "access_token":"ACCESS_TOKEN", "expires_in":7200}

说明:expires_in返回值为7200秒,就是有效期两个小时

错误返回

{ "errcode":40013, "errmsg":"invalid appid"}

4、请求错误编码介绍

返回码

说明

-1

系统繁忙,此时请开发者稍候再试

0

请求成功

40001

AppSecret错误或者AppSecret不属于这个公众号,请开发者确认AppSecret的正确性

40002

请确保grant_type字段值为client_credential

40164

调用接口的IP地址不在白名单中,请在接口IP白名单中进行设置。

89503

此IP调用需要管理员确认,请联系管理员

89501

此IP正在等待管理员确认,请联系管理员

89506

24小时内该IP被管理员拒绝调用两次,24小时内不可再使用该IP调用

89507

1小时内该IP被管理员拒绝调用一次,1小时内不可再使用该IP调用

5、开发示例

5.1 引用依赖包

首先打开公众号创建一个maven项目,创建完成后引入hutool依赖包,方面后续http请求和字符串操作。

内容如下:

<!--安装最新版本的hutool--><dependencies> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.22</version> </dependency></dependencies>

5.2 代码示例

import cn.hutool.core.util.StrUtil;import cn.hutool.http.HttpUtil;import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;/** * 小程序开发第一步获取微信Token */public Demo01_GetToken { // 建议放在配置文件里面,这里只是演示 private static String token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={}&secret={}"; private final static String appid = "你的appid"; private final static String secret = "你的secret"; public static void main(String[] args) { // 获取完整的tokenURL String url = StrUtil.format(token_url, appid, secret); // 获取token String tokenResult = HttpUtil.get(url); System.out.println("获取token返回结果: " + tokenResult); JSONObject tokenJson = JSONUtil.parseObj(tokenResult); String token = tokenJson.get("access_token").(); System.out.println("输出公众号token: " + token); }}

注意事项:需要在公众号配置公网IP白名单,否则调用会失败。

5.3 输出效果结果

0 阅读:0