課程
/后端開發
/Java
/Java微信公眾號開發進階
怎么把access_token本地存寫
2016-06-15
源自:Java微信公眾號開發進階 2-3
正在回答
您好? 這兩個方法該寫在哪個類中呢
我找到了一個方法,親測有效的:
寫一個server ?然后啟動一個線程,線程里面定義一個全局靜態變量,線程定時運行獲取access_token,然后放到內存中,取的時候通過這個靜態變量取就可以了。
jar包自己找吧
servlet---------- public?class?InitServlet?extends?HttpServlet?{???? ????private?static?final?long?serialVersionUID?=?1L;???? ????private?static?Logger?log?=?LoggerFactory.getLogger(WeixinUtil.class); ??? ????public?void?init()?throws?ServletException?{???? ????????//?獲取web.xml中配置的參數?,并初始化TokenThread.java中靜態變量appid和appsecret ????????TokenThread.appid?=?getInitParameter("appid");???? ????????TokenThread.appsecret?=?getInitParameter("appsecret"); ???????? ????????//?web.xml未配置appid、appsecret時給出提示???? ????????if?("".equals(TokenThread.appid)?||?"".equals(TokenThread.appsecret))?{???? ????????????log.error("請在web.xml的InitServlet中設置appid、appsecret參數");? ????????}?else?{ ????????????//?啟動定時獲取access_token的線程???? ????????????new?Thread(new?TokenThread()).start(); ????????}???? ????}???? } 注意在web.xml配置參數appid?,appsecret
線程=----------- public?class?TokenThread?implements?Runnable?{ private?static?Logger?log?=?LoggerFactory.getLogger(TokenThread.class); //?第三方用戶唯一憑證,從InitServlet中賦值 public?static?String?appid?=?""; //?第三方用戶唯一憑證密鑰,從InitServlet中賦值 public?static?String?appsecret?=?""; public?static?AccessToken?accessToken?=?null; public?void?run(){ /** ?*定期獲取token ?*/ while?(true)?{ try?{ //調用公眾平臺接口獲取access_token; accessToken?=?WeixinUtil.getAccessToken(appid,appsecret); if?(null?!=?accessToken)?{ log.info("獲取access_token成功,有效時長{}秒?token:{}",?accessToken.getExpiresIn(),?accessToken.getToken()); //?休眠7000秒?? Thread.sleep((accessToken.getExpiresIn()?-?200)?*?1000); }?else?{ //?如果access_token為null,60秒后再獲取 Thread.sleep(60?*?1000); } }?catch?(InterruptedException?e)?{ try?{ Thread.sleep(10?*?1000); }?catch?(InterruptedException?e1)?{ System.out.println(); } System.out.println(); } } } } 其他類中取值:String?token?=?TokenThread.accessToken.getToken();
慕粉3254756 提問者
6的
舉報
Java微信公眾號開發的進階課程,在入門的基礎上更加深入
2 回答Access_token存入本地
1 回答access_token存入本地
1 回答access_token怎么存入本地或內存???
1 回答怎么在本地保存access_token
2 回答access_token接入的錯誤
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-07-18
您好? 這兩個方法該寫在哪個類中呢
2016-06-17
我找到了一個方法,親測有效的:
寫一個server ?然后啟動一個線程,線程里面定義一個全局靜態變量,線程定時運行獲取access_token,然后放到內存中,取的時候通過這個靜態變量取就可以了。
jar包自己找吧