【摘要】微信(We Chat)是時下最受關注的移動互聯網產品應用,微信公眾平臺已在各個行業中廣泛應用。但微信團隊公開的開發者文檔中接口實例是用PHP語言進行說明的,對于不熟悉PHP語言的開發者來說是一個弊端。筆者在教學中熟練使用C#語言,因此筆者在微信公眾平臺開發模式中,使用C#語言對數據庫中數據進行操作,力圖為探索基于微信平臺的微慕課打下基礎。本文在NET環境下,使用C#語言通過微信平臺開發模式接口,對數據庫中的數據表進行操作,涉及到開發模式的配置、數據庫的配置、微信數據發送、微信數據接收等關鍵技術點。用戶向公眾賬號上發送了一條消息,并收到了公眾賬號回復的消息,在這短暫的時間里(最長5秒鐘),到底發生了哪些事情,消息經歷了哪些處理過程,是本文論述的重點。
【關鍵詞】 C# .NET;微信;微慕課
1.引言
微信是騰訊公司2011年1月21日推出的一款為智能手機提供即時通訊服務的應用,微信支持跨通信運營商、跨手機操作系統(如安卓、蘋果、Windows Phone等),通過網絡發送語音、圖片、視頻和文字等信息。
微信用戶、微信服務器、公眾賬號服務器之間的消息交互流程描述如下:
A.微信用戶通過手機微信平臺向公眾賬號發送消息,微信服務器接收此消息。
B.微信服務器把此消息通過HTTP POST 方式傳遞到URL指向的公眾賬號服務器。
C.公眾賬號服務器對此數據進行處理后,發送給微信服務器。
D.微信服務器再把處理后的消息通過公眾賬號發送給微信用戶。
2.實現功能
2.1 注冊公眾平臺賬號
首先到https://mp.weixin.qq.com 中注冊一個屬于自己的公眾平臺,具體注冊流程可參考注冊頁面中的詳細介紹。
2.2 啟用開發模式
開發模式主要是針對具有開發能力的賬號運營者,在開發模式下,公眾賬號的功能可以通過編程來實現。
公眾賬號審核通過后,就可以正式使用了,登錄到微信公眾平臺后,可以設置自己的Logo、賬號信息等內容。
在高級功能中,默認情況下,公眾平臺開啟的是編輯模式,如果我們想開啟開發模式,我們必須先完善好資料成為開發者。要使用公眾平臺的開發模式,必須先填寫好配置信息中的URL和Token,事先需要開發者在公網上有一個服務器空間。
URL:http://服務器空間IP地址/default.aspx
Token:MyToken
2.3 消息接收
當微信用戶向公眾賬號上發消息時,微信服務器將POST消息的XML數據包發送到筆者填寫的URL中的default.aspx文件響應。開發的請求校驗程序必須能處理HTTP GET請求,而且還要對請求者的身份進行驗證,公眾賬號服務器與微信服務器之間的數據傳輸格式是XML。剛開始定義了Token值,這個Token值非常重要,和2.2章節中配置Token時必須保持一致。
2.4 消息發送
對于每一位微信用戶發過來的消息,需要處理這些消息,處理完成后,響應包中返回的特定XML結構,并對該消息進行響應。目前支持的消息有文本、圖片、語音、視頻、音樂、圖文。
3.測試
當筆者使用手機微信,向自己的微信公眾賬號中輸入“合肥”點擊“發送”,系統會自動把“0551”發送到筆者手機中。至此可以驗證本文功能已實現。
4.結束語
通過以上代碼實例筆者實現了,微信用戶從手機微信平臺向筆者公眾賬號上發送信息,筆者服務器default.aspx文件接收到信息后,在數據庫中進行查詢,對查詢到的數值推送給微信用戶,從而實現了微信用戶、微信服務器、公眾賬號服務器(筆者部署default.aspx文件的服務器)之間數據交互的功能。
參考文獻
[1]Christian Nagel.C#高級編程(第7版)[M].清華大學出版社,2010-1-1.
[2]Andrew Troelsen.C#與.NET 4高級程序設計(第5版)[M].人民郵電出版社,2011-4-1.
[3]柳峰.微信公眾平臺應用開發方法、技巧與案例[M].機械工業出版社,2014,3.
[4]鐘志勇.微信公眾平臺應用開發實戰[M].機械工業出版社,2014,1.
基金項目:精品資源共享課程項目(2013gxk160);安徽省質量工程項目(2012sjjd073)。