Senparc.Weixin.MP SDK 微信公眾平台開發教程(八):通用接口說明


一、基礎說明

    這里說的“通用接口(CommonAPIs)”是使用微信公眾賬號一系列高級功能的必備驗證功能(應用於開發模式)。

    我們通過微信后台唯一的憑證,向通用接口發出請求,得到訪問令牌(AccessToken),然后使用訪問令牌去使用各項需要身份驗證的高級功能,例如自定義菜單、獲取用戶信息、單發消息、群發消息等等。

    目前所有的服務號通過認證的訂閱號,都可以在微信公眾賬號后台的【功能】>【高級功能】>【開發模式】下的“開發者憑據”一欄找到AppId和AppSecret兩個字符串,這兩個字符串就是獲得AccessToken的依據,因此需要嚴格保密,如果發現有泄露的可能,或者出於安全策略,應當使用邊上的“重置”按鈕對AppSecret進行隨機生成(注意AppId不會變化),並且同時修改程序中的對應參數。

 

二、接口使用

    在Senparc.Weixin.MP SDK中,通用接口的基本方法都在Senparc.Weixin.MP.CommonAPIs命名空間下:

    文件說明如下:

  AccessTokenContainer.cs - 一個AccessToken容器(幫助自動更新AccessToken,因為每一個AccessToken都有一個有效期)

  CommonApi.cs - 提供獲取AccessToken的通用方法

  CommonApi.Menu.cs - 自定義菜單所有接口

  CommonJsonSend.cs - 對通用接口返回類型的一些封裝處理

    有關上述類的詳細方法及說明可以看開源代碼的注釋: https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Senparc.Weixin.MP/Senparc.Weixin.MP/CommonAPIs

    有了AccessTokenContainer,我們可以直接這樣獲取AccessToken:

if (!AccessTokenContainer.CheckRegistered(appId))//檢查是否已經注冊
{
    AccessTokenContainer.Register(appId, appSecret);//如果沒有注冊則進行注冊
}
var result = AccessTokenContainer.GetAccessTokenResult(appId); //獲取AccessToken結果

  當然也可以更加簡單地一步到位:

var result = AccessTokenContainer.TryGetAccessToken(appId, appSecret);

  上述獲取到的result有access_token和expires_in兩個屬性,分別儲存了AccessToken字符串和過期時間(秒),如果使用AccessTokenContainer.TryGetAccessToken()方法,則可以徹底忽略的expires_in存在,如果過期,系統會自動重新獲取。

    有了AccessToken,我們就可以進行一系列豐富的高級功能操作了,當然也包括自定義菜單,請看隨后文章的介紹(見《Senparc.Weixin.MP SDK 微信公眾平台開發教程(九):自定義菜單接口說明》)。

    當然,SDK也已經提供了全自動的AccessToken處理機制,包括自動處理(預期外的)AccessToken過期情況,開發者在調用高級接口的時候只需要提供AppId,忽略AccessToken的存在,相關內容請見《Senparc.Weixin.MP SDK 微信公眾平台開發教程(十六):AccessToken自動管理機制》。

 

    注意:在v14.2.1中,所有Senparc.Weixin.MP下的Container,命名空間已經從 Senparc.Weixin.MP.CommonAPIs 改為了 Senparc.Weixin.MP.Containers[公告]Senparc.Weixin.MP v14.2.1 升級說明

 

系列教程索引

地址:http://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html

  1. Senparc.Weixin.MP SDK 微信公眾平台開發教程(一):微信公眾平台注冊
  2. Senparc.Weixin.MP SDK 微信公眾平台開發教程(二):成為開發者
  3. Senparc.Weixin.MP SDK 微信公眾平台開發教程(三):微信公眾平台開發驗證
  4. Senparc.Weixin.MP SDK 微信公眾平台開發教程(四):Hello World
  5. Senparc.Weixin.MP SDK 微信公眾平台開發教程(五):使用Senparc.Weixin.MP SDK
  6. Senparc.Weixin.MP SDK 微信公眾平台開發教程(六):了解MessageHandler
  7. Senparc.Weixin.MP SDK 微信公眾平台開發教程(七):解決用戶上下文(Session)問題
  8. Senparc.Weixin.MP SDK 微信公眾平台開發教程(八):通用接口說明
  9. Senparc.Weixin.MP SDK 微信公眾平台開發教程(九):自定義菜單接口說明
  10. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十):多客服接口說明
  11. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十一):高級接口說明
  12. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十二):OAuth2.0說明
  13. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十三):地圖相關接口說明
  14. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十四):請求消息去重
  15. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十五):消息加密
  16. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十六):AccessToken自動管理機制
  17. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十七):個性化菜單接口說明
  18. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十八):Web代理功能
  19. Senparc.Weixin.MP SDK 微信公眾平台開發教程(十九):MessageHandler 的未知類型消息處理
  20. Senparc.Weixin.MP SDK 微信公眾平台開發教程(二十):使用菜單消息功能
  21. Senparc.Weixin.MP SDK 微信公眾平台開發教程(二十一):在小程序中使用 WebSocket (.NET Core)
  22. Senparc.Weixin.MP SDK 微信公眾平台開發教程(二十二):如何安裝 Nuget(dll) 后使用項目源代碼調試


免責聲明!

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



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