微信開放平臺代公衆號開發

     最近由於業務須要,跟咱們合做的客戶不少都有本身的公衆號或者但願把用戶掌握在本身的手裏(本身申請公衆號),他們沒有開發能力,又想借助咱們的平臺實現本身的業務,研究了一下微信開放平臺,發現這是一個不錯的選擇。下面我就從代公衆號實現業務這個場景來說解開放平臺的開發流程:小程序

1、概述

公衆平臺第三方平臺是爲了讓公衆號或小程序運營者,在面向垂直行業需求時,能夠一鍵受權給第三方平臺(而且能夠同時受權給多家第三方),經過第三方平臺來完成業務,開放給全部經過開發者資質認證後的開發者使用。api

2、開發前的準備

一、首選你得在https://open.weixin.qq.com/開放平臺申請一個帳號;緩存

二、申請完以後在「管理中心」-「第三方平臺」建立一個第三方平臺安全

三、按照說明填寫對應的參數微信

登陸受權的發起也域名:這個用來給受權方受權給第三方平臺的操做域名,填受權頁面對應的域名app

受權測試公衆號列表:全網發佈以前用來測試的受權方公衆號原始Id,在微信公衆號平臺「公衆號設置」下面的「註冊信息」欄目能夠查看到。測試

受權事件接收URL:這個很關鍵,用來接收微信推送的component_verify_ticket,以及後續的受權相關通知(包括受權成功,取消受權,受權更新等等)url

後面的token和key是開放平臺的參數,後續要用到的地方會說起。spa

消息與事件接收URL:代公衆號處理消息和事件入口,好比用戶在公衆號發消息或者關注公衆號等都會調用這個地址debug

注:以上的這些域名和地址都是同一個,能夠理解爲開放平臺應用部署對應的域名。

下面還有一個關鍵的參數就是Ip白名單

切記,只有你的ip在這個白名單裏面才能正常的收發消息。

3、受權流程技術說明

受權有兩種方式,一種是在公衆平臺「開發」->基本配置->開放平臺帳號那裏去搜索開放平臺進行綁定;另一種是在第三方開放平臺提供的受權頁面進行微信掃碼綁定。大部分都是經過第二種方式綁定,這裏就講解一下第二中怎麼實現的。

首先要準備一個受權頁面,受權頁面提供一個url連接給受權方點擊,相似這樣的:

<a href="https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=${componentAppid}&pre_auth_code=${preAuthCode}&redirect_uri=${redirectUri}&auth_type=1">登陸受權</a>

效果如右圖所示: ,受權方點擊這個登陸受權按鈕會出現一個掃碼受權頁面。

微信掃碼會自動讀取你這個微信綁定的公衆號,點擊受權便可完成受權操做。這裏有幾點注意一下:

一、開發平臺開發階段(未全網發佈以前)須要提早在「 受權測試公衆號列表 」填寫要測試的受權公衆號原始id,相似gh_開頭的那一串字符串。

二、受權的時候要提供一個回調地址,上面提供的redirect_uri,受權方贊成受權以後會微信會回調這個地址,同時把auth_code返回給你, 在獲得受權碼後,第三方平臺方可使用受權碼換取受權公衆號或小程序的接口調用憑據(authorizer_access_token,也簡稱爲令牌),再經過該接口調用憑據,按照公衆號開發者文檔小程序開發文檔的說明,去調用公衆號或小程序相關API。 這裏的authorizer_access_token就至關於你微信公衆號開發裏面用到的access_token。

三、pre_auth_code怎麼獲得? 第三方平臺經過本身的接口調用憑據(component_access_token)來獲取用於受權流程準備的預受權碼(pre_auth_code) ;那麼component_access_token怎麼獲得? 第三方平臺經過本身的component_appid和component_appsecret(即在微信開放平臺管理中心的第三方平臺詳情頁中的AppID和AppSecret),以及component_verify_ticket(每10分鐘推送一次的安全ticket)來獲取本身的接口調用憑據(component_access_token);component_verify_ticket怎麼獲得?這個ticket在你的開放平臺審覈經過以後微信會自動推送到你在開放平臺填寫的事件接收URL,這樣反推一波是否是很清晰了?

四、component_access_token是要緩存起來的, 第三方平臺component_access_token是第三方平臺的下文中接口的調用憑據,也叫作令牌(component_access_token)。每一個令牌是存在有效期(2小時)的,且令牌的調用不是無限制的,請第三方平臺作好令牌的管理,在令牌快過時時(好比1小時50分)再進行刷新。 刷新就不必了,由於微信會每隔10分鐘推送一次安全ticket,你能夠根據ticket去獲取component_access_token,這樣就能夠作到定時的去刷新component_access_token了

五、authorizer_access_token也是要緩存起來的, 受權方接口調用憑據(在受權的公衆號或小程序具有API權限時,纔有此返回值),也簡稱爲令牌,這個也是2小時失效,在獲得這個的同時也會獲得一個 authorizer_refresh_token, 能夠用它調用接口來得到新的 authorizer_access_token ,從而保證 authorizer_access_token 不過時。

受權流程完畢以後咱們就能夠進入下一步代公衆號實現業務了。

未完待續。。。

相關文章
相關標籤/搜索