微信公眾平臺SDK C#版,對微信公眾平臺開放的所有API進(jìn)行了封裝,方便.NET開發(fā)者快速方便的接入微信公眾平臺進(jìn)行微信的二次開發(fā)。開發(fā)時(shí),請先申請微信公眾平臺的測試賬號。
基本簡介
微信公眾平臺是騰訊公司在微信基礎(chǔ)平臺上新增的功能模塊,通過微信公眾平臺,每一個(gè)人都可以用一個(gè)QQ號碼,打造自己的一個(gè)微信的公眾號,并在微信平臺上實(shí)現(xiàn)和特定群體的文字、圖片、語音的全方位溝通、互動。
微信公眾平臺的功能定位 群發(fā)推送:公號主動向用戶推送重要通知或趣味內(nèi)容。 自動回復(fù):用戶根據(jù)指定關(guān)鍵字,主動向公號提取常規(guī)消息; 1對1交流:公號針對用戶的特殊疑問,為用戶提供1對1的對話解答服務(wù)。
說明
壓縮包中包含三個(gè)文件夾:Senparc.Weixin.MP、Senparc.Weixin.MP.BuildOutPut、Senparc.Weixin.MP.Sample,分別對應(yīng)Senparc.Weixin.MP.dll源代碼項(xiàng)目、Senparc.Weixin.MP.dll輸出目錄、Web示例,Web示例建議放到公網(wǎng)測試,讓微信公眾平臺自動發(fā)送 注意:開始開發(fā)之前需要到上面申請一個(gè)公眾賬號,并開啟“關(guān)鍵詞自動回復(fù) =>公眾平臺消息接口”,根據(jù)提示設(shè)置token等信息。
相關(guān)示例
效果測試賬號(添加后發(fā)送文本、位置、圖片信息,測試反饋效果):

Senparc.Weixin.MP所有項(xiàng)目文件如下:

Senparc.Weixin.MP幾個(gè)關(guān)鍵類介紹如下:
Entities/Request*.cs 用于接收微信平臺自動發(fā)送到服務(wù)器的實(shí)體(發(fā)送過來的是XML),包括文本、位置、圖片三類
Entities/Response*.cs 用于反饋給發(fā)送人的信息實(shí)體(最終會轉(zhuǎn)成XML),包括文本、新聞(圖文)兩類
Helpers/EntityHelper.cs 用于實(shí)體和XML之間的轉(zhuǎn)換(由于其中有許多需要特殊處理的字段和類型,這里不能簡單用XML序列化)
Helpers/MsgTypeHelper.cs 用于獲取消息類型
CheckSignature.cs 驗(yàn)證請求合法性類
Enums.cs 各種枚舉
RequestMessageFactory.cs 用于自動生成不同Request類型的實(shí)體,并作必要的數(shù)據(jù)填充
Senparc.Weixin.MP幾個(gè)關(guān)鍵類及重要方法(按一般使用過程排序)
生成驗(yàn)證字符串:Senparc.Weixin.MP.CheckSignature.GetSignature(string timestamp, string nonce, string token = null),返回根據(jù)微信平臺提供的數(shù)據(jù),SHA1加密后的驗(yàn)證字符串(注意token必須跟公眾平臺的設(shè)置一直)
驗(yàn)證請求:Senparc.Weixin.MP.CheckSignature.Check(string signature, string timestamp, string nonce, string token = null),驗(yàn)證請求是否合法
獲取請求實(shí)體:var requestMessage = Senparc.Weixin.MP.RequestMessageFactory.GetRequestEntity(XDocument doc); 根據(jù)不同請求的類型,自動生成可用于操作的實(shí)體(doc只需要用XDocument.Parse(xmlString)就能生成),requestMessage.MsgType就是請求枚舉類型。
進(jìn)行判斷及各類操作。
根據(jù)需要,創(chuàng)建響應(yīng)類型的實(shí)體,如:var responseMessage = ResponseMessageBase.CreateFromRequestMessage(requestMessage, ResponseMsgType.Text) as ResponseMessageText; 即可返回文本類型信息。
由于目前微信只接受XML的返回?cái)?shù)據(jù),所以在返回之前還需要做一次轉(zhuǎn)換:XDocument responseDoc = Senparc.Weixin.MP.Helpers.EntityHelper.ConvertEntityToXml(responseMessage); var xmlString =responseDoc.ToString();
至此整個(gè)微信公眾賬號的自動響應(yīng)過程結(jié)束。




西門子s7-200 smart編程軟件
AutoShop
PDMan(免費(fèi)數(shù)據(jù)庫建模工具)
jQM代碼助手
java8
VB編程全能詞典