文章說明:
本文是基于盛派網路蘇震巍老師的《微信公眾號+小程式快速開發》課程筆記,
課程地址:
https://study.163.com/course/courseMain.htm?courseId=1004873017
本課專案地址:
https://github.com/wechatdeveloper/WechatVideoCourse
課程目標:
使用資料容器(Container)管理微信呼叫憑證(AccessToken);
SDK 幫助開發者,只需要關注和微信之間的介面呼叫 ,不需要過多的關心AccessToken過期問題,
微信憑證型別:
AccessToken :微信介面呼叫 的憑據,是用于微信服務器和開發者服務器之間的介面呼叫的憑據
JsTicket:用戶移動端呼叫微信API的憑據
安全說明:憑據不可以存盤在Cookie、URL 等明文中
憑證特征:
- 需要通過AppId , AppSecret獲取AccessToken
- 具有一定的過期時間,如7200秒
- 可以被強制重繪、更新
- AccessToken 需要開發者自行管理
- 每天從微信服務器獲取的次數是有限制的
微信公眾號AccessToken獲取說明:
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
資料容器(Container)設計目標:
- 自動處理憑據過期、失效、重新獲取問題
- 支持快取
- 詳細參考:設計圖解
SDK中AccessToken的方法:
- Senparc.Weixin.MP.Containers.AccessTokenContainer.GetAccessToken(AppId);
- Container對AccessToken進行管理:獲取、失效后的更新
- 由于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));
- SDK 均提供了對應的異步介面,如:CustomApi.SendTextAsync
用戶收到的客服訊息效果:

微信公眾號客服訊息的推送規則:
- 用戶在5分鐘內和公眾號有過互動
- 在用戶沒有回復的情況下,公眾號不可以連續推送超過20條的客服訊息
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/285342.html
標籤:C#
