龙空技术网

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

IT技术分享社区 79

前言:

现时姐妹们对“accesstoken获取”大致比较重视,朋友们都需要剖析一些“accesstoken获取”的相关资讯。那么小编也在网摘上搜集了一些有关“accesstoken获取””的相关资讯,希望大家能喜欢,姐妹们一起来了解一下吧!

1、 access_token介绍

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

2、请求说明

;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 class Demo01_GetToken {    // 建议放在配置文件里面,这里只是演示    private static String token_url = ";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 输出效果结果

标签: #accesstoken获取