您好,登錄后才能下訂單哦!
本篇文章為大家展示了微信公眾號中被動消息回復的原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
技術實現:開發者服務器--基于Angular2框架的已發布網站,編程語言為Python,后臺存儲數據庫為Mysql;
微信服務器--微信公眾號,此業務只是處理微信客戶端發送的文本信息,且不使用公眾號的其他功能,因此不需要認證公眾號;
微信客戶端--關注公眾號的微信使用者,即粉絲。
當粉絲給公眾號發送特定的消息時,微信公眾號自動回復相應內容,而其背后的實現原理可由下圖所示:
由上圖可知,粉絲(微信客戶端)向公眾號(微信服務器)發送消息后,公眾號馬上將消息報文轉發給綁定的網站(開發者服務器),此時消息
傳送到了開發者的系統里。然后系統解析消息報文,得到消息內容,再根據消息內容,從業務數據庫中得到返回的消息文本,最終將消息文本包裝
成回復的消息報文(xml),返回給公眾號,公眾號再發送給請求的粉絲。
消息報文: 微信服務器轉發的消息報文格式如下:
<xml> <ToUserName>![DATA[toUser]]</ToUserName> // 接收消息方,開發者微信號(公眾號AppID) <FromUserName>![DATA[fromUser]]</FromUserName> //發送方賬號(OpenId) <CreateTime>12356548575</CreateTime> //消息創建時間 <MsgType>![DATA[text]]</MsgType> //消息類型,text代表文本類型 <Content>![DATA[?18-546]]</Content> //消息內容,本例為 ?18-546 <MsgId>1234567890123456</MsgId> //消息ID </xml>
開發者服務器通過解析轉發的消息報文,得到發送方賬號(回復消息用)和消息內容,然后通過一系列業務處理,生成回復消息報文,格式如下:
<xml> <ToUserName>![DATA[userName]]</ToUserName> //接收消息方,微信客戶端賬號(OpenId) <FromUserName>![DATA[fromUser]]</FromUserName> // 發送方賬號,(公眾號AppID) <CreateTime>456251484</CreateTime> //消息創建時間 <MsgType>![DATA[text]]</MsgType> //回復的消息類型,text代表文本消息 <Content>![[[18-546]的工作臺位為[車體新廠房3號]]]</Content> //回復的消息內容,本例為[18-546]的工作臺位為[車體新廠房3號] </xml>
微信服務器接收到回復的消息報文后,通過解析,將內容發送給微信客戶端,這樣客戶端接收到信息了。
注意事項: 1、開發服務器自接收到轉發的消息后,需要再5秒內給予回復,超過時間,則自動回復錯誤提示消息"該公眾號提供的服務出現故障,請稍后再試",
因此,業務處理時間最好不要大于5秒鐘;
2、回復消息內容應遵從公眾號信息內容的設定,最好不要回復帶空格的消息,因為會出現不能正常回復的現象。
上述內容就是微信公眾號中被動消息回復的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。