微信公众平台 调用令牌 只能存活2小时(实际更短 所以我1小时刷新一次令牌)
小程序刷新调入令牌
/** * 拿去小程序的临时登录令牌 * @param smallproinfo * @return */ public static Map<String,String> appToken(Smallproinfo smallproinfo, String token){ JSONObject resultjson=new JSONObject(); resultjson.put("component_appid", Configure.getValue("AppID")); resultjson.put("authorizer_appid",smallproinfo.getAppid()); resultjson.put("authorizer_refresh_token",smallproinfo.getRefreshToken()); JSONObject auactoKen= WxstoreUtils.httpRequest(Configure.getValue("authorizerToken")+token,"POST",resultjson.toString()); Map<String,String> dataMap=new HashMap<String,String>(); if(auactoKen.containsKey("errcode")&&!"0".equals(auactoKen.getString("errcode"))){ dataMap.put("msg","小程序已经失效需要重新绑定!"); System.out.println("---------------失败原因:"+auactoKen.get("errcode")); return dataMap; } dataMap.put("refreshToken",auactoKen.getString("authorizer_refresh_token")); dataMap.put("accesToken",auactoKen.getString("authorizer_access_token")); return dataMap; }component_appid 为微信开放平台的appid
authorizer_appid 小程序的appid
authorizer_refresh_token 小程序的刷新令牌 如果没有 那你就中奖了 需要重新授权获取 这个很重要
authorizerToken 请求路径 token 是微信开放平台的token 记住是微信开放平台
返回的数据汇总
authorizer_refresh_token 小程序的刷新令牌 没有有这个小程序基本就GG 所以需要妥善保管
authorizer_access_token 小程序调入令牌 操作小程序需要用的
下面是公众号的
/** * 4、获取(刷新)授权公众号的令牌 * @param apiAuthorizerToken * @param component_access_token */public static ApiAuthorizerTokenRet apiAuthorizerToken(ApiAuthorizerToken apiAuthorizerToken, String component_access_token, String secret) throws WexinReqException{ApiAuthorizerTokenRet apiAuthorizerTokenRet =new ApiAuthorizerTokenRet();JSONObject param = JSONObject.fromObject(apiAuthorizerToken);String authorizerToken="https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token="; JSONObject auactoKen=WxstoreUtils.httpRequest(authorizerToken+component_access_token,"POST",param.toString());if (auactoKen.has("errcode") && auactoKen==null) {//在这里用appsecret在掉一次系统authorizerToken=Configure.getValue("temporaryToken").replace("#appid",apiAuthorizerToken.getAuthorizer_appid()).replace("#secret",secret);auactoKen=WxstoreUtils.httpRequest(authorizerToken,"GET",null);if(auactoKen.has("errcode")){logger.error("获取微信公众号平台access_token!errcode=" + auactoKen.getString("errcode") + ",errmsg = " + auactoKen.getString("errmsg"));throw new WexinReqException("获取微信公众号平台access_token!errcode=" + auactoKen.getString("errcode") + ",errmsg = " + auactoKen.getString("errmsg"));}else{apiAuthorizerTokenRet.setAuthorizer_access_token(auactoKen.getString("access_token"));}}else{apiAuthorizerTokenRet = (ApiAuthorizerTokenRet) JSONObject.toBean(auactoKen, ApiAuthorizerTokenRet.class);}return apiAuthorizerTokenRet;}ApiAuthorizerToken 3个参数
component_appid 微信开放平台的appid
authorizer_appid 公众号的APPid authorizer—refresh_token 公众号的刷新令牌 这个很重要
component_access_token 微信开放平台的调入令牌
ApiAuthorizerTokenRet 里面的参数
authorizer_refresh_token 公众号刷新令牌 很重要
authorizer_access_token 公众号调入令牌 操作小程序需要用的














