亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信開發之access_token的示例分析

發布時間:2021-08-30 11:38:25 來源:億速云 閱讀:155 作者:小新 欄目:編程語言

小編給大家分享一下微信開發之access_token的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

首先不得不提到access_token的分類,一是普通access_token,二是網頁授權access_token。其中前者是用于調用微信提供的各種借口,作為開發者的調用憑證,一般有效期為7200S,獲取次數受限;另一種是第三方網頁若需要使用用戶微信賬戶登錄,需要獲取該access_token從而來獲取用戶微信賬戶信息。這個一定得區分開。

另外獲取用戶微信賬戶信息也有兩種情況,一是普通的獲取用戶信息,它只需要調用微信用戶信息接口即可獲取,因而使用到的是第一種普通access_token,另一種就是上面提到的網頁授權時獲取用戶信息。一旦二者概念混淆,則會報出invalid access_token錯誤。

對于第一種普通access_token,需要注意到的是,它是全局性的,就是一旦獲取到了新的access_token,原有的access_token就會失效,而無法調用相關接口。而這種特性,導致的情況是,多個不同進程相互獨立獲取access_token時,會直接影響到其他進程調用相關微信接口,這種異常通常對應著 access_token失效異常。

為了解決這種情況,必須獨立啟動一個線程定時去獲取access_token,并由該線程向所有其他線程提供該access_token,從而避免access_token獲取混亂導致的失效問題。我實現該想法的方式是采用timer定時器,定時刷新獲取access_token,并將其存入到指定property文件中,其他線程通過讀取該文件中的access_token值,來調用相關接口。

@Controller
@RequestMapping(value = "/timer")
public class AcessTokenTimer {
  private static final String APPID = "*************";
  private static final String APPSECRET = "*********";
  private Timer timer = new Timer(true);
  @PostConstruct
  public void setToken(){
    if(null == timer){
      timer = new Timer(true);
    }
    timer.scheduleAtFixedRate(new TimerTask() {
      @Override
      public void run() {
        try {
          SystemUtil.setString("token.properties","access_token", UrlGETUtil.GET("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+APPID+"&secret="+APPSECRET).getString("access_token"));
        }catch (Exception e){
          e.printStackTrace();
        }
      }
    },0,3600*1000);
  }
}

 在定時器任務中獲取和寫入access_token值。該類基于SpringMVC框架,此處用到了@PostConstruct標簽,它的作用是,在Spring框架初始化完成之后,及執行對應方法體,直白地說就是開機自啟。

access_token失效和刷新

微信開發之access_token的示例分析

目前想到的比較理想的解決方案就是:服務器發現功能異常時,刷新access_token并更新redis,然后再次調用接口。

以上是“微信開發之access_token的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涟水县| 滕州市| 高清| 贵港市| 呈贡县| 皮山县| 永清县| 那曲县| 抚州市| 光泽县| 饶阳县| 改则县| 明溪县| 彰化县| 南丰县| 泸州市| 康保县| 大冶市| 三穗县| 穆棱市| 台山市| 精河县| 高邑县| 北安市| 泰兴市| 清远市| 云梦县| 江陵县| 调兵山市| 闽侯县| 包头市| 天镇县| 乐亭县| 嘉黎县| 宝丰县| 南通市| 波密县| 岳池县| 建平县| 年辖:市辖区| 偏关县|