首页 > 编程语言 >小程序获取token的两种方式

小程序获取token的两种方式

时间:2024-10-31 17:59:21浏览次数:3  
标签:String 程序 weChatConfigStatic 获取 token static new public

注意:使用RestTemplate需要注入

@Qualifier:根据名称注入

@Configuration
public class RestConfig {
    
    @Bean
    public RestTemplate restTemplateSimple() {
        return new RestTemplate();
    }
}

 

public static String encoding = "UTF-8";

    @Autowired
    private WeChatConfig weChatConfig;
    private static WeChatConfig weChatConfigStatic;

    @Qualifier("restTemplateSimple")
    @Autowired
    private RestTemplate restTemplateSimple;
    private static RestTemplate restTemplateStatic;

    @PostConstruct
    private void init() {
        weChatConfigStatic = this.weChatConfig;
        restTemplateStatic = this.restTemplateSimple;
    }

    private static final OkHttpClient client = new OkHttpClient();

 

方式一:

public static String getAccessToken() {
        HttpUrl.Builder urlBuilder = HttpUrl.parse(WeChatConstant.WEI_XIN_API_URL).newBuilder();
        urlBuilder.addQueryParameter("grant_type", weChatConfigStatic.getClientCredential());
        urlBuilder.addQueryParameter("appid", weChatConfigStatic.getAppId());
        urlBuilder.addQueryParameter("secret", weChatConfigStatic.getSecretKey());
        String url = urlBuilder.build().toString();
        Request request = new Request.Builder()
                .url(url)
                .build();
        try {
            Response response = client.newCall(request).execute();
            if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
            String responseBody = response.body().string();
            JSONObject jsonObject = JSONObject.parseObject(responseBody);
            return jsonObject.getString("access_token");
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

 

方式二:

public static String getAccessToken2() {
        ResponseEntity<String> responseEntity = restTemplateStatic.getForEntity(WeChatConstant.ACCESS_TOKEN_URL, String.class, weChatConfigStatic.getAppId(), weChatConfigStatic.getSecretKey());
        log.info("获取wxToken结果集 {}", responseEntity);
        Map map = JSONObject.parseObject(responseEntity.getBody(), Map.class);
        if (!StringUtils.isEmpty(map.get("errcode"))) {
            throw new DefaultException("获取token参数有误");
        }
        if (!StringUtils.isEmpty(map.get("access_token"))) {
            return map.get("access_token").toString();
        } else {
            throw new DefaultException("获取token失败!");
        }
    }
grant_type:client_credential

常量
public static final String ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}";
public static final String WEI_XIN_API_URL = "https://api.weixin.qq.com/cgi-bin/token";

 

标签:String,程序,weChatConfigStatic,获取,token,static,new,public
From: https://www.cnblogs.com/ckfeng/p/18518557

相关文章

  • 程序员的修炼之道其二
    在数字化浪潮席卷全球的时代,程序员作为信息技术领域的核心力量,其工作不仅仅是编写代码,更是构建数字世界的基石。《程序员的修炼之道》这本书,犹如一位资深导师,以其丰富的经验和深刻的见解,为程序员们指引了一条不断提升自我的修炼之路。读完这本书后,我心中涌起诸多感悟,对程序员这一......
  • 程序员的修炼之道其三
    在科技日新月异的当今时代,编程已成为推动社会发展的重要力量,而程序员则是这一领域的核心创造者。《程序员的修炼之道》这本书,犹如一座灯塔,为众多在编程海洋中航行的程序员们照亮了前行的方向,提供了丰富的智慧宝藏和实践指南。在阅读完这本书后,我深受触动,收获颇丰,以下是我对这本书......
  • 1024!一张照片定制程序员科技感写真
    在这个属于代码世界的节日里,我们为你准备了一份特别的礼物,不论你是前端大牛,还是后端高手;无论是数据分析师,还是算法工程师,只需一张图片,创下你与代码共舞的瞬间,一键生成专属于你的超写实程序员写真!10月21日—11月29日,三步轻松完成体验,即可获得精美电脑包,(活动期间每个工作日......
  • 《程序员修炼之道:从小工到专家》阅读笔记1---程序员的责任与担当
    《程序员修炼之道:从小工到专家》,开篇关于责任的阐述如同一盏明灯,照亮了我对程序员这一职业的认知之路。责任,是程序员工作的基石。在软件开发的世界里,我们所编写的每一行代码都承载着重要的使命。这不仅仅是为了完成任务,更是为了确保软件的质量、稳定性和安全性。我们不能仅仅满足......
  • 使用MicroPython开发ESP32系列单片机程序入门
    请参考网络ESP32教程地址:https://www.itprojects.cn/coursecenter-hardware.html以ESP32-S3为例讲述烧录固件过程1、下载Micropython固件。首次使用ESP32时,需要将micropython固件烧录到ESP32内。不同芯片,Micropython固件不同。固件下载地址 为:https://micropython.org/dow......
  • 《读〈程序员修炼之道:从小工到专家〉第一章有感》
    《程序员修炼之道:从小工到专家》的第一章“注重实效的哲学”阐述了许多对程序员来说至关重要的观念。首先,书中强调了要关注你的技艺。就像工匠对待自己的手艺一样,程序员不能仅仅满足于完成任务,而是要不断打磨自己的编程技能,保持对新技术、新方法的好奇心。这是成为优秀程序员的基......
  • API接口数据获取流程的细化
    了解APIAPI的定义和作用:除了您提到的定义,还可以进一步了解API如何促进不同系统之间的数据交换和集成。API文档的阅读:深入阅读API文档是理解API的关键。文档通常会提供API的端点、请求方法、请求参数、响应格式等详细信息。API的限制和配额:了解API的使用限制,如请求频率、数据......
  • 程序员修炼之道阅读笔记03
    阅读《程序员修炼之道:从小工到专家》的第三章“基本工具”有感这次阅读犹如打开了一扇通往高效编程世界的大门,让我对程序员所依赖的工具以及如何更好地运用它们有了更深刻的认识。这一章首先强调了工具对于程序员的重要性,它们就如同工匠手中的利器,能极大地提高工作效率和质量。......
  • 爬虫获取主页信息
    爬虫获取主页信息1.如何使Python获取到网页的源代码 urllib:用来模拟浏览器 urllib.request:获取主页源码 urllib.request.Request():构建数据结构 add_header("user-agent"):添加请求头,伪装浏览器 urllib.request.urlopen():打开URL获取源码 2.过滤爬虫爬取主页信息#调用......
  • 【C++】01-C++ 程序的生成过程
    概要:该篇文章以MSCV为例,简要介绍了C++程序的生成过程。1.生成工具MSVC,全称MicrosoftVisualC++,是由微软开发的用于生成C++程序的工具集,包括C++预处理器、编译器、链接器和其他生成工具。2.生成过程2.1预处理(Preprocess)预处理由预处理器(Preprocessor)......