05-获取ACCESS_TOKEN

05-获取ACCESS_TOKEN

1.基本参数的获取

在获取ACCESS_TOKEN之前,首先需要看下微信的开放文档中是如何定义获取ACCESS_TOKEN接口的。

接口调用请求说明

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

返回说明

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

参数说明

2.验证代码

首先在编写测试方法之前,我们需要appID 和secret

获取来源是在申请公众号时会自动生成的

验证代码如下:

// 写入默认的url请求
private static final String TOKEN_URL ="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";

@Test
void getToken() throws Exception {
    // 在微信公众号平台默认给的appid
    String appID = "wx4b6b0740a59be897";
    // 在微信公众号平台默认给的secret 
    String secret = "053c41592ae5998af216753749ae21c2";
    URL url = new URL(TOKEN_URL.replace("APPID",appID).replace("APPSECRET",secret));
    URLConnection urlConnection = url.openConnection();
          // 如果要发送post请求的话放开以下代码
          //设置为可以发送数据的状态
//        urlConnection.setDoOutput(true);
//        //获取输出流
//        OutputStream outputStream = urlConnection.getOutputStream();
//        outputStream.write("1111111".getBytes());
//        outputStream.close();
    
    InputStream is = urlConnection.getInputStream();
    byte [] b = new  byte[1024];
    int len;
    StringBuilder sb = new StringBuilder();
    while((len=is.read(b))!= -1){
        sb.append(new String(b,0,len));
    }
    System.out.println(sb.toString());
}

获取的内容如下:

后续的处理流程我没有写,后续的处理流程如下:

  1. 定义一个专门存储TOKEN的类(类中的信息包含TOKEN、TOKEN的创建时间、TOKEN的实效时间)
  2. 解析获取到的字符串(TOKEN、失效时间:当前时间+7200*1000、当前时间:System.currentTimeMillis())
  3. 在使用TOKEN之前先判断TOKEN是否失效,如果失效的话,在重新调用获取。

猜你喜欢

转载自blog.csdn.net/baidu_31572291/article/details/114337580