什麽是(shì)微信公衆帳号開發
微信公衆号分兩種類型和(hé / huò)兩種情況,兩種類型分别是(shì)訂閱号和(hé / huò)服務号,兩種情況是(shì),已認證或未認證的(de)公衆号。他(tā)們分别具體的(de)接口權限大(dà)家可以(yǐ)在(zài)微信後台的(de)“開發者中心-接口權限”看到(dào)。
顯示“未獲得”的(de)接口狀态,就(jiù)是(shì)需要(yào / yāo)訂閱号或服務号微信認證之(zhī)後才有擁有的(de)權限。
簡單說(shuō),未認證的(de)訂閱号隻有基礎支持、自動回複和(hé / huò)發送回複消息的(de)接口,隻有實現一(yī / yì /yí)些較簡單的(de)數據交互功能,
那麽,什麽是(shì)接口?微信接口又是(shì)什麽意思?
打個(gè)比方,如果一(yī / yì /yí)家公司是(shì)一(yī / yì /yí)個(gè)系統,創業之(zhī)初,你可能一(yī / yì /yí)個(gè)人(rén)身兼多職,同時(shí)負責營銷、财務、研發等,發展到(dào)了(le/liǎo)一(yī / yì /yí)定規模後爲(wéi / wèi)了(le/liǎo)提高公司整體的(de)運行效率和(hé / huò)服務水平,你就(jiù)需要(yào / yāo)聘用不(bù)同的(de)人(rén)才來(lái)幫你承擔相應的(de)一(yī / yì /yí)部分工作,那麽同時(shí),你也(yě)需要(yào / yāo)向這(zhè)部分人(rén)提供對應的(de)工作權限以(yǐ)滿足他(tā)們的(de)工作需要(yào / yāo),這(zhè)就(jiù)類似于(yú)接口的(de)概念。
微信接口簡單說(shuō),是(shì)微信公衆平台向第三方開發者提供的(de)一(yī / yì /yí)個(gè)用戶資源數據及功能的(de)訪問/使用權限。通過對開發者提供開放統一(yī / yì /yí)的(de)API接口環境,來(lái)幫助微信第三方開發者訪問微信公衆平台的(de)功能和(hé / huò)資源,以(yǐ)達到(dào)充分自由的(de)運用微信公衆平台用戶資源及功能的(de)目的(de)。
簡單解釋下開發者ID和(hé / huò)服務器配置各參數的(de)作用:
AppID是(shì)應用ID,也(yě)就(jiù)是(shì)微信開發者編号的(de)意思,在(zài)微信中主要(yào / yāo)用于(yú)創建微信菜單等。
AppSecret是(shì)應用密匙,與AppID是(shì)相配合的(de),意思可理解爲(wéi / wèi)這(zhè)是(shì)私密的(de)應用編号。
URL服務器地(dì / de)址是(shì)微信服務器像開發者服務器推送消息和(hé / huò)事件的(de)地(dì / de)址,可理解爲(wéi / wèi)你家的(de)住址。這(zhè)裏沒什麽特别要(yào / yāo)求,無論你使用什麽語言開發,隻要(yào / yāo)能通過HTTP服務的(de)80端口返回符合微信要(yào / yāo)求的(de)XML信息即可。
Token令牌可理解爲(wéi / wèi)用來(lái)驗證安全接頭暗号,讓微信服務器知道(dào)對方就(jiù)是(shì)我要(yào / yāo)找的(de)人(rén)。
EncodingAESKey可理解爲(wéi / wèi)暗語加密交流,以(yǐ)免你與用戶之(zhī)間的(de)交互信息被第三方獲取到(dào)後洩露敏感數據。
基本原理
微信服務器就(jiù)相當于(yú)一(yī / yì /yí)個(gè)轉發服務器,終端(手機、Pad等)發起請求至微信服務器,然後微信服務器将請求轉發給自定義服務(也(yě)就(jiù)是(shì)開發者服務器,url對應的(de)服務器)。
服務處理完畢,然後回發給微信服務器,微信服務器再将具體響應回複到(dào)終端。
通信協議爲(wéi / wèi):HTTP
數據格式爲(wéi / wèi):XML
其實,我們需要(yào / yāo)做的(de)事情,就(jiù)是(shì)對HTTP請求,做出(chū)響應。
具體的(de)請求内容,我們按照特定的(de)XML格式去解析,處理完畢後,也(yě)要(yào / yāo)按照特定的(de)XML格式返回。
我們隻需要(yào / yāo)一(yī / yì /yí)個(gè)簡單的(de)實現HttpHandler即可。
當然,微信平台還能實現更加複雜的(de)業務,比如微信可以(yǐ)作爲(wéi / wèi)内嵌的(de)浏覽器,我們可以(yǐ)通過微信的(de)鏈接,打開htm界面,然後實現自己的(de)邏輯。
當普通微信用戶向公衆賬号發消息時(shí),微信服務器将POST該消息到(dào)填寫的(de)URL上(shàng)。結構如下
業務流程
前面的(de)注冊及消息接入就(jiù)不(bù)過多贅述了(le/liǎo),上(shàng)面我們已經初步講解了(le/liǎo)微信公衆賬号開發的(de)基本原理,這(zhè)裏我們來(lái)探索設計實現
主要(yào / yāo)功能介紹如下:
1)請求接口層。處理HTTP請求,及響應
2)分發層。由接口層傳入請求,然後具體分析請求類型,分發至不(bù)同的(de)處理器
3)業務邏輯層。這(zhè)裏是(shì)我們的(de)具體業務邏輯了(le/liǎo),根據請求,實現具體的(de)業務邏輯。
4)數據層。我們在(zài)實現某個(gè)應用時(shí)可能需要(yào / yāo)訪問數據,可以(yǐ)是(shì)數據庫或者是(shì)文件。如果是(shì)簡單應用,可能沒有這(zhè)一(yī / yì /yí)層。
其實,具體的(de)應用可以(yǐ)在(zài)這(zhè)個(gè)結構上(shàng)去擴展,可以(yǐ)擴展消息對象層、業務對象層、數據訪問層、功能管理層等。這(zhè)裏隻是(shì)提供一(yī / yì /yí)種思路,不(bù)局限于(yú)此。
- 上(shàng)一(yī / yì /yí)篇:微信分銷商城如何進行推廣
- 下一(yī / yì /yí)篇:智能家居微信開發爲(wéi / wèi)什麽變得越來(lái)越火?