微信快速開發框架(一)-- 對微信公眾平台開發的消息處理


這幾天有點空,做了個Android App后,想着對接一下公司的微信平台,以便讓客戶更方便查詢,在研究微信平台中,要注意以下幾點:
1、微信驗證消息真實性是用Get方式到你提交的url
2、用戶發送的消息、事件等都是通過Post方式提交過來
3、微信服務器端發送過來的,是xml格式,通過HttpRequest.InputStream獲取
4、在處理用戶消息的時候,如果你要返回信息的話,您只要輸出xml格式的字符串就可以了。

如何讀取微信客戶端信息:

var stream = Request.InputStream;
var reader = XmlReader.Create(stream);
var doc = XDocument.Load(reader);

我把消息流轉換成XDocument,方便操作,返回的時候我也用了比較偷懶的辦法:

>var resultDoc = new XDocument();
var root = new XElement("xml", new XElement(), new XElement());
resultDoc.add(root);
Response.Write(resultDoc.ToString());

獲取用戶發送的消息:

>doc.Element("xml").Element("Content");

通過分析用戶發送的內容,我們可以做很多事情,大家也可以參考下博客園大咖:"方倍工作室"

在開發中,發覺幾個問題:
1、在“驗證消息真實性”驗證中,無需返回什么特殊的比對結果,只要返回“echostr”就代表驗證通過
2、對收到的消息、事件等,都沒有明確的Action,僅單單靠Post方式發送到指定的Url
3、創建的時間參數,在文檔中只寫明了整形,沒有提到這個整形與時間的對應,難道是TICK?

也不是說以上方式存在什么問題,但在處理收到的消息的時候,沒有讓我進行任何判斷的地方,這是很頭大的事情。還有微信對自己服務器很有信心,沒把dns劫持考慮進來,每次消息的反饋不需要我進行任何驗證返回,這點淘寶平台還是不錯的。還有微信的文檔,着實難懂,一眼看來,覺得是自己寫給自己看的文檔,汗!

公司微信公眾平台賬號:sh_bus
測試數據:發送消息:4660+13701111111


免責聲明!

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



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