最近很多朋友對微信公眾號比較感興趣,希望能建設一個自己的微信公眾號,所以在這篇文章中,我簡單的跟大家介紹下微信公眾號的開發及數據交互流程,讓大家至少能大概了解微信開發是怎么一回事。
首先,微信公眾號分兩種類型和兩種情況,兩種類型分別是訂閱號和服務號,兩種情況是,已認證或未認證的訂閱號。他們分別具體的接口權限大家可以在微信后臺的“開發者中心-接口權限”看到。
如下圖所示是我的接口權限:
以上顯示“未獲得”的接口狀態,就是需要訂閱號或服務號微信認證之后才有擁有的權限。
簡單說,未認證的訂閱號只有基礎支持、自動回復和發送回復消息的接口,只有實現一些較簡單的數據交互功能,例如本公眾號(需要特別說明一下,本公眾號也是未認證的訂閱號,關于自定義菜單是一個微博關聯認證的歷史遺留問題,除此之外所有權限與普通未認證的訂閱號一樣)
那么,什么是接口?微信接口又是什么意思?
打個比方,如果一家公司是一個系統,創業之初,你可能一個人身兼多職,同時負責營銷、財務、研發等,發展到了一定規模后為了提高公司整體的運行效率和服務水平,你就需要聘用不同的人才來幫你承擔相應的一部分工作,那么同時,你也需要向這部分人提供對應的工作權限以滿足他們的工作需要,這就類似于接口的概念。
微信接口簡單說,是微信公眾平臺向第三方開發者提供的一個用戶資源數據及功能的訪問/使用權限。通過對開發者提供開放統一的API接口環境,來幫助微信第三方開發者訪問微信公眾平臺的功能和資源,以達到充分自由的運用微信公眾平臺用戶資源及功能的目的。
在微信上,要實現這一目的,需要開啟“服務器配置”如下圖所示:
如圖所示:大家需要注意的是,一旦開啟了服務器配置,微信平臺自帶的自動回復、自定義菜單等功能全部失效,所有的事件推送都會被轉發到你所配置的服務器地址URL上。
簡單解釋下開發者ID和服務器配置各參數的作用:
AppID是應用ID,也就是微信開發者編號的意思,在微信中主要用于創建微信菜單等。
AppSecret是應用密匙,與AppID是相配合的,意思可理解為這是私密的應用編號。
URL服務器地址是微信服務器像開發者服務器推送消息和事件的地址,可理解為你家的住址。這里沒什么特別要求,無論你使用什么語言開發,只要能通過HTTP服務的80端口返回符合微信要求的XML信息即可。
Token令牌可理解為用來驗證安全接頭暗號,讓微信服務器知道對方就是我要找的人。
EncodingAESKey可理解為暗語加密交流,以免你與用戶之間的交互信息被第三方獲取到后泄露敏感數據。
梳理下過程,當微信用戶給你的微信公眾號發送消息后,消息到達微信服務器被處理成XML數據包并轉發給開發者服務器(URL),開發者服務器接收到數據包后就會把用戶消息經過一系列的邏輯處理并再轉送給微信服務器,最后微信服務器再推送給用戶。
數據交互的流程:用戶發送消息—到達微信服務器—轉發給開發者服務器—轉送微信服務器—推送給用戶
看到這里,相信大家已經知道,微信公眾號的開發關鍵流程在開發者服務器處理用戶信息這一步上,至于這一步怎么做,那就是一個大話題了。
相比而言,微信開發是很簡單的,將用戶消息處理成符合微信要求的XML數據包結構即可,因此開發重心全在邏輯處理上面。
如下圖所示,這是一個最基礎的文本消息XML結構:
上圖中Content就是返回給用戶的消息內容,是一個變量。
下面是我用一款工具模擬用戶發送消息給服務器的交互情況:
(微信開發調試工具:http://api.huceo.com/weixin/debug/)
那么,怎么能擁有智能回復、人臉識別、微信點歌等等功能,這就需要借助第三方的API或者數據采集來實現,當開發者服務器接收到用戶消息后,處理成符合對方API使用規則的請求,拿到JSON數據取出需要的內容經過一系列的處理返回給用戶即可。
如下圖所示某API接口笑話數據的示例(這是最簡單的一種結構):
最后,這篇文章僅僅是讓大家大概了解下微信公眾號的開發流程。作為微信運營者,該如何使用微信的各種高級功能?如果你太忙或想把微信公眾號做好的話,藝之都網絡科技有限公司為你服務