對于很多開發者而言,調用微信開放服務接口已經是正常操作了。
例如,開發一個小程式,你可以通過調用微信封裝好的各類開放元件和 API 接口,接入訂閱消息、OCR、直播等服務。
而優雅的調用往往隻需要最簡單的操作方式,盡量簡潔的調用路徑可以提升開發效率。
以前,微信開放服務接口的正常調用,需要開發者使用密鑰資訊擷取access_token,并自己維護token的有效期和安全。而擷取access_token,涉及到密鑰互動請求,對于安全性意識一般或研發條件有限的企業和開發者,容易暴露密鑰導緻被盜用。
那麼,是否有一種更高效,又更安全的調用方式,能讓微信生态内的小程式、公衆号網頁等多端應用,調用得又快又好,讓業務靈活躲開調用Bug?
「雲調用」由此誕生,它天然具有「免鑒權調用微信開放服務接口」特性,通過雲調用,開發者無需再維護 access_token 等鑒權資訊,寫少量代碼即可輕松調用微信開放服務接口,十分便捷;同時,對于接口請求合法性的判定,雲調用全程經由微信私有鍊路實作,可以有效規避公網通路可能帶來的安全風險,性能開銷也更小。

以微信支付接口為例,使用雲調用,開發者無需關心證書、鑒權、微信支付服務端文檔等,一行代碼即可調用相應接口。
如何使用雲調用?
微信雲開發和微信雲托管中都支援使用雲調用,兩者的具體實作形式有所不同:
微信雲開發中的雲調用,主要通過雲函數調用 wx-server-sdk 通路開放服務接口,需要具備 Node.js 等相關知識,是以适合偏前端與全棧開發團隊使用。
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html
示例代碼如下:
微信雲托管中的雲調用,不限制開發語言和架構,雲托管背景會周期性地将調用開放接口所需的 access_token 令牌(類似于“驗證碼”),推送到服務的容器執行個體中,此時隻需從容器本地讀取“驗證碼”,再包裝請求後就可以調用了,整體上更适合後端和全棧開發團隊。
https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/guide/weixin/token.html
無論選擇哪種開發模式,使用雲調用後,通路都會在微信私有鍊路中完成,能夠保障業務安全性。對于前後端分離架構的業務,更推薦使用微信雲托管作為後端服務。
目前,已有大量不同規模的業務,通過微信雲托管獲得了更快的和更好的安全保障,達到防“薅羊毛”、防DDoS攻擊、優化網絡延遲等目标。
此外,微信雲托管還上線了「無門檻部署」功能,支援通過預設的開源架構快速建立一個微信雲托管服務,并通過各種調用方式發起對服務的請求,大幅降低了使用門檻,歡迎體驗。
https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/quickstart/template/
登入方式上,微信雲托管新增支援了公衆号登入。免寫 Dockerfile 一鍵遷移、靜态資源存儲、WebSocket等新功能也即将上線,敬請期待。
更多資料
微信雲托管官網(請在PC端通路以下位址)
https://cloud.weixin.qq.com/
微信雲托管官方文檔
https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/basic/intro.html
微信雲托管系列教程
https://developers.weixin.qq.com/community/business/course/00068c2c0106c0667f5b01d015b80d
微信雲托管專家1V1服務
https://cloud.tencent.com/act/pro/cloudrun
微信雲開發/雲托管激勵計劃
https://cloud.tencent.com/act/pro/wxcloudrun