微信小程序——获取接口调用凭据access_token

问题背景

今天在搞一个微信小程序的时候,使用到了发布内容的问题,然后想使用微信请求接口,结果遇到了请求接口需要获取调用凭证access_token。

查看微信小程序开发文档

打开微信小程序开发文档后,打开服务端相关文档,如下图:

图中可以看到功能的描述,他是获取全局唯一后台接口调用凭证,有效期为7200秒,而且需要我们自己保存,并且需要自己定期维护更新这个token

假如,我们使用云托管,可以通过微信开放接口免维护acctess_token的调用

这里,我们使用的是https调用,采用我们自己的服务端去调用微信的服务端的方式,不通过云调用也不通过前端调用,

实现方案

public static String getAccessToken(String appid,String appsecret){

    String reqUrl = ACCESS_TOKEN_URL.replaceAll("APPID",appid).replaceAll("APPSECRET",appsecret);

    String result = HttpUtils.httpsRequest(reqUrl, "GET", null);
    JSONObject jsonObject = JSONObject.parseObject(result);
    String  access_token = (String) jsonObject.get("access_token");
    System.out.println(access_token);
    return result;
}

public static void main(String[] args) {
    String accessToken = getAccessToken("wx7cbdf2fc3c123456", "fd54746d6eb3bf2b9770be4081234567");
    System.out.println(accessToken);
}

通过上方的实现代码,我们可以看到将请求地址中的APPID替换成我们自己的appid,以及appsecret也换成我们自己的秘钥。

然后,发起GET请求,请求到微信服务器获取返回access_token结果,在将其转为JSONObject对象,即可根据key获取到他的value值。

这样既能获取的到access_token,也能获取他的有效时间。

然后再根据这个过期时间,我们再去缓存token即可。

具体的缓存结构我没有写,最简单的方案就是先判断缓存中是否存在,如果不存在再去调用接口,返回正常的token后放到我们的缓存中,并且将结果返回。

好了,今天关于微信小程序中获取接口调用凭证access_token的分享就到这里,欢迎大家留言交流。

也欢迎大家关注我的工种昊《coder练习生》

猜你喜欢

转载自blog.csdn.net/ybb_ymm/article/details/128769109