第8課 微信接口調用憑證AccessToken及數據容器(Container)


文章說明: 

  本文是基於盛派網絡蘇震巍老師的《微信公眾號+小程序快速開發》課程筆記。

課程地址: 

  https://study.163.com/course/courseMain.htm?courseId=1004873017

本課項目地址:

  https://github.com/wechatdeveloper/WechatVideoCourse

課程目標

  使用數據容器(Container)管理微信調用憑證(AccessToken); 

  SDK 幫助開發者,只需要關注和微信之間的接口調用 ,不需要過多的關心AccessToken過期問題。

 

微信憑證類型:

  AccessToken :微信接口調用 的憑據,是用於微信服務器和開發者服務器之間的接口調用的憑據

  JsTicket:用戶移動端調用微信API的憑據

  安全說明:憑據不可以存儲在Cookie、URL 等明文中

 

憑證特征:

  1. 需要通過AppId , AppSecret獲取AccessToken
  2. 具有一定的過期時間,如7200秒
  3. 可以被強制刷新、更新
  4. AccessToken 需要開發者自行管理
  5. 每天從微信服務器獲取的次數是有限制的

 

微信公眾號AccessToken獲取說明:

https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html 

 

數據容器(Container)設計目標:

  1. 自動處理憑據過期、失效、重新獲取問題
  2. 支持緩存
  3. 詳細參考:設計圖解

 

SDK中AccessToken的方法:

  1.  Senparc.Weixin.MP.Containers.AccessTokenContainer.GetAccessToken(AppId); 
  2. Container對AccessToken進行管理:獲取、失效后的更新
  3. 由於SDK對AccessToken進行了高度的封裝、管理;所以在調用微信接口的時候,不需要每次都先獲取AccessToken,只需要傳遞AppId參數即可,如下
    1  //獲取微信用戶信息
    2   var userInfo = Senparc.Weixin.MP.AdvancedAPIs.UserApi.Info(AppId, openId);
    3   string strNickName = userInfo.nickname;
    4   string strGender = userInfo.sex == 1 ? "先生" : "女士";
    5 
    6  //推送客服消息,給用戶
    7   Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText(AppId, openId, "你好,{0} {1}".FormatWith(strNickName, strGender));
  4. SDK 均提供了對應的異步接口,如:CustomApi.SendTextAsync

  

  用戶收到的客服消息效果:

  

 

微信公眾號客服消息的推送規則:

  1. 用戶在5分鍾內和公眾號有過交互
  2. 在用戶沒有回復的情況下,公眾號不可以連續推送超過20條的客服消息

 


 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM