博客 / 詳情

返回

微信開放平台之第三方平台開發,從哪裏入手?

大家好,我是悟空碼字

疫情之下,最近有不少兄弟沒有挺進決賽,半途成了小羊人,可謂是出師未捷身先死。話説回來,不管怎麼樣,儘量保護好自己,能越晚變羊越好。

開始説正事,不管是自己在創業或學習也好,還是公司的開發任務也罷,有很多小夥伴在開發多小程序管理或多公眾號管理的功能,這就不得不去對接微信開放平台裏面的第三方平台接口。

你別説,這個功能確實好用,我們就拿代商家管理小程序來説,對於有批量孵化小程序需求的業務來説,擁有了這樣的功能,能節省不少成本嘞。除了這個,關鍵還有一個好處,就是隻需收集極少數個參數信息,通過接口註冊很多個已認證的小程序,目前沒有上限的限制。注意,是已認證的,也就是免認證費的,還是永久的哦。

image.png

在看官方文檔之前,你可能會想,接口嘛,對我們後端同學來説,我們就是專門造接口的,開什麼玩笑,根本不在話下。不過,當你去翻了接口文檔之後你就不會有這麼囂張的想法了,來,簡單瞜一眼,

image.png

來自小夥伴的吐槽

image.png

接口多的很,多也就算了,關鍵看不懂,不知道先從哪裏入手啊。插一句,其實現在再去看官方文檔,已經整理的更整潔了,比起我對接的那會啊,不知道好多少,我對接的那時候文檔可以用雜亂無章來形容不為過,沒辦法,人總要成長,接口文檔也是。

image.png

扯遠了,文檔確實變好了,但對於新手來説第一次看還是一頭霧水,真的是不知道該從哪裏入手啊。最重要的其實就是獲取到component_access_token和授權帳號的authorizer_access_token,別擔心,悟空幫你理一下如何入手,按照如下順序進行開發。

驗證票據】:首先就是驗證票據,也就是這個component_verify_ticket,在第三方平台創建審核通過後,微信服務器會向其 ”授權事件接收URL” 每隔 10 分鐘以 POST 的方式推送 component_verify_ticket。

image.png

這個不是API接口,是微信主動向我們的服務器推送的一個參數數據。至於第三方平台怎麼配置,這個應該不難,如果不會的同學多了,以後就抽空寫一篇介紹一下怎麼配置。

獲取令牌】:我們拿到component_verify_ticket之後,接着就要去調用獲取令牌的接口,獲取到第三方平台接口的調用憑據component_access_token的值。令牌的獲取是有限制的,每個令牌的有效期為 2 小時,請自行做好令牌的管理,在令牌快過期時(比如1小時50分),重新調用接口獲取。

image.png

獲取預授權碼】:我們拿到component_access_token之後,接着就要去調用獲取預授權碼的接口,獲取到pre_auth_code的值。這個是第三方平台方實現授權託管的必備信息,每個預授權碼有效期為 1800秒。

image.png

拼接授權鏈接】:我們拿到pre_auth_code之後,這一步不需要調用接口,而是拼接授權鏈接。準備“授權回調 URI”,公眾號/小程序管理員掃碼或者訪問移動端授權鏈接,確認同意授權給第三方平台。管理員授權確認之後,授權頁會自動跳轉進入回調 URI,並在 URL 參數中返回授權碼和過期時間
(redirect_url?auth_code=xxx&expires_in=600)。

image.png

獲取刷新令牌】:我們拿到auth_code之後,接着就要去調用獲取刷新令牌的接口,當用户在第三方平台授權頁中完成授權流程後,第三方平台開發者可以在回調 URI 中通過 URL 參數獲取授權碼(authorization_code)。然後使用該接口可以換取公眾號/小程序的接口調用令牌(authorizer_access_token),然後以該 token 調用公眾號或小程序的相關 API。

image.png

獲取授權帳號調用令牌】:公眾號/小程序的接口調用令牌authorizer_access_token 有效期為 2 小時,authorizer_access_token 失效時,可以使用 authorizer_refresh_token 獲取新的 authorizer_access_token。

image.png

大概的入手開發順序就是這樣,只要能拿到component_access_token和authorizer_access_token,那就事半功倍了。至於寫代碼,當然,那又是一件大工程的事,想到這,頭頂又禿了一大片。

image.png

山水有相逢,來日皆可期,謝謝閲讀,我們再會

我手中的金箍棒,上能通天,下能探海

上一篇:關於視頻號主頁實現一鍵添加個人微信功能的思路

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.