微信開發-接收消息和事件


當我們成為開發者之后,用戶向公眾賬號發送消息或者用戶的一些操作,微信服務器會推送XML數據包到開發者填寫的URL上。這些數據主要分為兩類:

①消息

用戶在發送消息后,微信就會推送一個xml數據包給開發者,主要分為文本、圖片、語音、視頻、小視頻、地理位置、鏈接,具體結構可以查看微信官方文檔。我們可以在接收到這個這個數據包之后,對它做一個處理轉變成

我們可以使用的數據。

注:1.$_GLOBALS["HTTP_RAW_POST_DATA"]用來獲取微信post過來的數據,主要因為$_POST只能接收php能識別的數據,所以用這個方法獲取到的是原始的POST數據。

  2.simplexml_load_string將xml載入一個對象中,方便以后調用。

  3.獲取到這些數據后,可以做出對應的邏輯處理。但是請在5秒內處理並回復,否則就會發起新的請求進行重試,如果不回復或者回復異常數據就會報錯“該公眾號暫時無法提供服務,請稍后再試”。所以如果不能在

   5秒內回復可以直接選擇回復success或者空字符串。

②事件

事件的推送和消息推送基本相似,但是事件加了一個關鍵的節點用以和消息區分,就是event。在消息中MsgType是text而在事件中則是event,並且會用一個event節點來顯示是什么事件,我們可以根據事件的類型來做出

對應的邏輯處理,事件的具體結構可以查看微信官方文檔。

 


免責聲明!

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



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