• Java微信公众平台开发之AccessToken获取


    顺便说一下微信公共测试号的申请,不需要准备任何材料,除了部分需要认证的接口,大部分都可以调用,提供一下链接

    一、什么是access_token

    access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效官方文档

    调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功

    二、获取并缓存access_token

    由于一天获取access_token次数有限,不能即拿即用。官方推荐使用使用中控服务器统一获取和刷新access_token,缓存方式自行选择。

    本人用的是Redis缓存Windows下安装并设置Redis

    获取方法

    public static final String GET_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token";
    /**
     * 获取授权凭证token
     * 
     * @param key 应用appid
     * @param secret 应用密匙
     * @return json格式的字符串
     */
    public static String getAccessToken(String appid, String secret) {
    	TreeMap<String, String> map = new TreeMap<String, String>();
    	map.put("grant_type", "client_credential");
    	map.put("appid", appid);
    	map.put("secret", secret);
    	String json = HttpReqUtil.HttpDefaultExecute(SystemConfig.GET_METHOD, WechatConfig.GET_ACCESS_TOKEN_URL, map, "");
    	String result = null;
    	AccessToken accessToken = JsonUtil.fromJsonString(json, AccessToken.class);
    	if (accessToken != null) {
    		result = accessToken.getAccess_token();
    	}
    	return result;
    }

    缓存方法:略

    详细源码



    本文为Phil Jing原创文章,未经博主允许不得转载,如有问题请直接回复或者加群。
  • 相关阅读:
    剑指 Offer 30. 包含min函数的栈
    剑指 Offer 12. 矩阵中的路径
    剑指 Offer 11. 旋转数组的最小数字
    剑指 Offer 04. 二维数组中的查找
    LeetCode——139. 单词拆分
    LeetCode——(每日一题)恢复空格
    MySQL专职DBA博客目录-周万春
    MySQL专职DBA,微信群,技术群,交流群,开车群
    DBA生产经验总结
    创建MySQL账户
  • 原文地址:https://www.cnblogs.com/phil_jing/p/15615889.html
Copyright © 2020-2023  润新知