微信服務號開發總體流程

一、微信的各個平臺

微信開放平臺,面向開發人員,爲網站、App 提供微信第三方登陸功能,爲 App 提供支付功能(經過客戶端 sdk 拉起微信客戶端);html

微信公衆平臺,對應的是公衆號,包括訂閱號、服務號、企業號,面向運營人員和開發人員,運營能夠直接登陸公衆號管理後臺查看公衆號的各類指標,開發則是經過調用微信提供的各類接口來加強公衆號的功能;web

微信商戶平臺,用戶經過微信支付的錢,最終到達商戶帳號。不管是開放平臺仍是公衆平臺,涉及到支付,都須要商戶平臺帳號瀏覽器

PS:簡單提一下訂閱號與服務號的區別服務器

訂閱號,主要用來發文章,微信的聊天列表中會有「訂閱號」這一項,裏面全都是訂閱號的推送;正常狀況下訂閱號天天只能羣發一條消息,可是媒體類的除外,好比人民日報、36 氪等,就是天天能夠發多條,猜想應該是能夠找微信申請的,只要資質夠了,就能夠一天發多條吧(未實際驗證過,只是猜想)。微信

服務號,顧名思義,主要是提供服務的,好比銀行的服務號,你能夠在服務號裏面查詢一些信息,看一下服務號的菜單大體就瞭解了服務號提供的哪些服務,服務號在微信聊天列表中是單獨的一項,不會像訂閱號那樣合併起來。服務號其實也能夠像訂閱號那樣羣發消息,可是每一個天然月只能發 4 次,能夠看出是跟訂閱號的側重點徹底不一樣的,二者沒有包含被包含的關係,誰也無法取代誰,也不是簡單的權限高級低級的區別。微信公衆平臺

公衆平臺羣發規則:http://kf.qq.com/faq/120911VrYVrA131025QniAfu.html工具

二、服務號帳號介紹

服務號是隻能企業申請的,我的只能申請訂閱號。服務號相比訂閱號有更多的接口權限,這樣服務號就能提供更多的自定義功能。學習

服務號要能提供完整的功能,還須要進行「微信認證」,提交一些公司資質信息,認證費 300 元,微信認證成功以後,才能得到完整的服務號接口權限。測試

服務號帳號的登陸仍是比較嚴格的,每次登陸都須要管理員掃碼確認。固然,管理員能夠綁定運營者微信號(http://kf.qq.com/faq/120911VrYVrA141211FbEnq2.html),這樣添加爲運營者的人就能夠本身掃碼登陸了,不須要每次都「驚動」管理員微信支付

三、服務號管理後臺介紹

登陸到管理後臺,運營能夠直接在管理後臺進行一系列操做,例如:

公衆號設置:設置關注公衆號後發送給用戶的歡迎語,設置關鍵詞回覆規則和內容,設置收到消息自動回覆內容,自定義菜單

運營操做:羣發消息,回覆用戶消息

查詢統計:用戶分析、菜單分析、圖文分析、消息分析

四、服務號開發

至此,開發終於登場了~~~

先來看一下開發以前須要進行的一系列配置。

服務號管理後臺左邊欄最下面有一項「開發」,咱們來一次看一下各個子項

基礎配置

  • 公衆號開發信息,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 上運行的微信瀏覽器,方便模擬手機微信,
  • 公衆平臺測試帳號,這個是很是有幫助的,尤爲是在服務號未進行微信認證的狀況下(不少接口尚未開放)。在這個測試帳號裏面基本上全部的接口權限都開放,在開發測試階段是很是有幫助的

接口權限

能夠查看全部接口是否有權限調用。部分接口還須要額外的配置,好比:網頁受權獲取用戶信息,須要配置網頁受權域名

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

五、公衆平臺與開放平臺打通

公衆號,能夠拿到關注用戶的信息,openid、暱稱、頭像;

開放平臺,第三方登陸也能夠拿到用戶的信息,openid、暱稱、頭像;

其中,暱稱、頭像是相同的,也都是用戶本身隨時能夠修改的,若是要惟一肯定一個微信用戶,只能經過微信 id。

可是,

公衆平臺的 openid 是用戶在公衆號裏面的惟一 id,換了公衆號,openid 也會跟着變;

開發平臺的 openid 是用戶在開發平臺裏面的惟一 id,與公衆平臺的 openid 是不一樣的。

因此沒法經過 openid 來惟一肯定一個用戶。

微信爲了解決這個問題,提供了 unionid,只要公衆平臺、開放平臺是關聯起來的,那麼同一個微信用戶即便是在不一樣平臺裏面也都是相同的 unionid

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


本文沒有介紹相關代碼,只是對整個開發過程的一個梳理和總結,若是能對你們,尤爲是新手,有些許幫助,我也感到很是榮幸。

歡迎你們批評指導,交流學習~~~

相關文章
相關標籤/搜索