微信服務號開發整體流程

1、微信的各個平臺

微信開放平臺,面向開發人員,爲網站、App 提供微信第三方登錄功能,爲 App 提供支付功能(通過客戶端 sdk 拉起微信客戶端);
微信公衆平臺,對應的是公衆號,包括訂閱號、服務號、企業號,面向運營人員和開發人員,運營可以直接登錄公衆號管理後臺查看公衆號的各種指標,開發則是通過調用微信提供的各種接口來增強公衆號的功能;
微信商戶平臺,用戶通過微信支付的錢,最終到達商戶賬號。無論是開放平臺還是公衆平臺,涉及到支付,都需要商戶平臺賬號

簡單提一下訂閱號與服務號的區別
訂閱號,主要用來發文章,微信的聊天列表中會有“訂閱號”這一項,裏面全都是訂閱號的推送;正常情況下訂閱號每天只能羣發一條消息,但是媒體類的除外,比如人民日報、36 氪等,就是每天可以發多條,猜測應該是可以找微信申請的,只要資質夠了,就可以一天發多條吧(未實際驗證過,只是猜測)。
服務號,顧名思義,主要是提供服務的,比如銀行的服務號,你可以在服務號裏面查詢一些信息,看一下服務號的菜單大致就瞭解了服務號提供的哪些服務,服務號在微信聊天列表中是單獨的一項,不會像訂閱號那樣合併起來。服務號其實也可以像訂閱號那樣羣發消息,但是每個自然月只能發 4 次,可以看出是跟訂閱號的側重點完全不同的,兩者沒有包含被包含的關係,誰也沒法取代誰,也不是簡單的權限高級低級的區別。

2、服務號賬號介紹

服務號是隻能企業申請的,個人只能申請訂閱號。服務號相比訂閱號有更多的接口權限,這樣服務號就能提供更多的自定義功能。
服務號要能提供完整的功能,還需要進行“微信認證”,提交一些公司資質信息,認證費 300 元,微信認證成功之後,才能獲得完整的服務號接口權限。
服務號賬號的登錄還是比較嚴格的,每次登錄都需要管理員掃碼確認。當然,管理員可以綁定運營者微信號http://kf.qq.com/faq/120911VrYVrA141211FbEnq2.html),這樣添加爲運營者的人就可以自己掃碼登錄了,不需要每次都“驚動”管理員

3、服務號管理後臺介紹

登錄到管理後臺,運營可以直接在管理後臺進行一系列操作,例如:
公衆號設置:設置關注公衆號後發送給用戶的歡迎語,設置關鍵詞回覆規則和內容,設置收到消息自動回覆內容,自定義菜單
運營操作:羣發消息,回覆用戶消息
查詢統計:用戶分析、菜單分析、圖文分析、消息分析

4、服務號開發

至此,開發終於登場了~~~
先來看一下開發之前需要進行的一系列配置。
服務號管理後臺左邊欄最下面有一項“開發”,我們來一次看一下各個子項
基礎配置
公衆號開發信息,AppID 和 AppSecret 是必需的,其中 AppID 是可以暴露的,但是 AppSecret 是絕對不能暴露的。在管理後臺裏面也是不顯示的,設置是無法查看的,要是忘記了,那隻能重置(初始化或重置的時候是可以看到的,如果錯過了這個時機,那後面就看不到了)。如果重置,就會影響已有服務,所以一定要備份好 AppSecret,同時不要泄露。
IP 白名單,需要填寫開發環境、測試環境、正式環境的服務器 IP,只有白名單中的 IP 才允許請求微信獲取 access_token,有了 access_token 纔能有權限調用微信的各種接口。access_token 的具體介紹,參考公衆平臺文檔--獲取 access_token(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183),這裏不再贅述。
服務器配置,參考公衆平臺文檔--接入指南(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319),這裏不再贅述。注意,如果服務器配置開啓,則相當於服務器完全接管服務號,甚至可以誇張的說,有了服務器接收微信服務端的所有推送事件,服務號管理後臺就可以廢棄了。服務器配置開始後,管理後臺有一些配置就失效了,比如,自動回覆功能,不能在後臺配置了,只能通過程序回覆;自定義菜單,也只能通過程序來設置,不能再頁面上設置了。
有了上面的這些配置,就可以開始開發、調試公衆平臺接口了。

開發者工具
開發者文檔,文檔對於開發者的重要性就不用說了,
在線接口調試工具,方便直接調試公衆平臺接口,不用開發者自己寫調試程序,
web 開發者工具,相當於一個可以在 pc 上運行的微信瀏覽器,方便模擬手機微信,
公衆平臺測試賬號,這個是非常有幫助的,尤其是在服務號未進行微信認證的情況下(很多接口還沒有開放)。在這個測試賬號裏面基本上所有的接口權限都開放,在開發測試階段是非常有幫助的

接口權限,可以查看所有接口是否有權限調用。部分接口還需要額外的配置,比如:網頁授權獲取用戶信息,需要配置網頁授權域名

介紹到這裏,之後的開發就需要結合公衆平臺文檔,自力更生了。雖然微信的文檔不是特別條理,但是隻要耐心一點,仔細一點,基本還是比較順利的。

5、公衆平臺與開放平臺打通(unionid 機制)

公衆號,可以拿到關注用戶的信息,openid、暱稱、頭像;
開放平臺,第三方登錄也可以拿到用戶的信息,openid、暱稱、頭像;
其中,暱稱、頭像是相同的,也都是用戶自己隨時可以修改的,如果要唯一確定一個微信用戶,只能通過微信 id。
但是,公衆平臺的 openid 是用戶在公衆號裏面的唯一 id,換了公衆號,openid 也會跟着變;開發平臺的 openid 是用戶在開發平臺裏面的唯一 id,與公衆平臺的 openid 是不同的。所以無法通過 openid 來唯一確定一個用戶。
微信爲了解決這個問題,提供了 unionid,只要公衆平臺、開放平臺是關聯起來的,那麼同一個微信用戶即使是在不同平臺裏面也都是相同的 unionid

平臺之間打通,需要再開放平臺中綁定公衆號,綁定成功後,無論是在哪個平臺獲取用戶信息,都會攜帶 unionid 字段,開發者可以根據 unionid 將不同平臺下的同一個用戶識別出來。

----------------------------------------------------------------------------------------------------------
本文沒有介紹相關代碼,只是對整個開發過程的一個梳理和總結,如果能對大家,尤其是新手,有些許幫助,我也感到非常榮幸。
歡迎大家批評指導,交流學習~~~



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章