微信开放平台之第三方平台开发,从哪里入手?
大家好,我是悟空码字
疫情之下,最近有不少兄弟没有挺进决赛,半途成了小羊人,可谓是出师未捷身先死。话说回来,不管怎么样,尽量保护好自己,能越晚变羊越好。
开始说正事,不管是自己在创业或学习也好,还是公司的开发任务也罢,有很多小伙伴在开发多小程序管理或多公众号管理的功能,这就不得不去对接微信开放平台里面的第三方平台接口。
你别说,这个功能确实好用,我们就拿代商家管理小程序来说,对于有批量孵化小程序需求的业务来说,拥有了这样的功能,能节省不少成本嘞。除了这个,关键还有一个好处,就是只需收集极少数个参数信息,通过接口注册很多个已认证的小程序,目前没有上限的限制。注意,是已认证的,也就是免认证费的,还是永久的哦。
在看官方文档之前,你可能会想,接口嘛,对我们后端同学来说,我们就是专门造接口的,开什么玩笑,根本不在话下。不过,当你去翻了接口文档之后你就不会有这么嚣张的想法了,来,简单瞜一眼,
来自小伙伴的吐槽
接口多的很,多也就算了,关键看不懂,不知道先从哪里入手啊。插一句,其实现在再去看官方文档,已经整理的更整洁了,比起我对接的那会啊,不知道好多少,我对接的那时候文档可以用杂乱无章来形容不为过,没办法,人总要成长,接口文档也是。
扯远了,文档确实变好了,但对于新手来说第一次看还是一头雾水,真的是不知道该从哪里入手啊。最重要的其实就是获取到component_access_token和授权帐号的authorizer_access_token,别担心,悟空帮你理一下如何入手,按照如下顺序进行开发。
【验证票据】:首先就是验证票据,也就是这个component_verify_ticket,在第三方平台创建审核通过后,微信服务器会向其 ”授权事件接收URL” 每隔 10 分钟以 POST
的方式推送 component_verify_ticket。
这个不是API接口,是微信主动向我们的服务器推送的一个参数数据。至于第三方平台怎么配置,这个应该不难,如果不会的同学多了,以后就抽空写一篇介绍一下怎么配置。
【获取令牌】:我们拿到component_verify_ticket之后,接着就要去调用获取令牌的接口,获取到第三方平台接口的调用凭据component_access_token的值。令牌的获取是有限制的,每个令牌的有效期为 2 小时,请自行做好令牌的管理,在令牌快过期时(比如1小时50分),重新调用接口获取。
【获取预授权码】:我们拿到component_access_token之后,接着就要去调用获取预授权码的接口,获取到pre_auth_code的值。这个是第三方平台方实现授权托管的必备信息,每个预授权码有效期为 1800秒。
【拼接授权链接】:我们拿到pre_auth_code之后,这一步不需要调用接口,而是拼接授权链接。准备“授权回调 URI”,公众号/小程序管理员扫码或者访问移动端授权链接,确认同意授权给第三方平台。管理员授权确认之后,授权页会自动跳转进入回调 URI,并在 URL 参数中返回授权码和过期时间
(redirect_url?auth_code=xxx&expires_in=600)。
【获取刷新令牌】:我们拿到auth_code之后,接着就要去调用获取刷新令牌的接口,当用户在第三方平台授权页中完成授权流程后,第三方平台开发者可以在回调 URI 中通过 URL 参数获取授权码(authorization_code)。然后使用该接口可以换取公众号/小程序的接口调用令牌(authorizer_access_token),然后以该 token 调用公众号或小程序的相关 API。
【获取授权帐号调用令牌】:公众号/小程序的接口调用令牌authorizer_access_token 有效期为 2 小时,authorizer_access_token 失效时,可以使用 authorizer_refresh_token 获取新的 authorizer_access_token。
大概的入手开发顺序就是这样,只要能拿到component_access_token和authorizer_access_token,那就事半功倍了。至于写代码,当然,那又是一件大工程的事,想到这,头顶又秃了一大片。
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海
相关文章
- React源码学习进阶篇(一)新版React如何调试源码?
- React源码学习进阶(二)初识Fiber架构
- React源码学习进阶(三)rootFiber的创建流程
- React源码学习进阶(四)render流程的入口逻辑详解
- React源码学习进阶(五)beginWork如何处理Fiber
- React源码学习进阶(六)completeWork究竟做了什么
- React源码学习进阶(七)挂载阶段的commitWork
- React源码学习进阶(八)setState底层逻辑
- MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列|附代码数据
- R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视化|附代码数据
- 电量计基础知识介绍:
- 瞧瞧别人家的API接口,那叫一个优雅
- 暴增到 1k star 的开源项目,原来长这样!
- 程序员必备小技能:mac文件备份和清理、常用工具的安装和配置
- 前端小技能:Chrome DevTools中的操作技巧
- SOLIDWORKS 基于浏览器的角色 TOP 10 增强功能
- java小技能:对list集合根据条件进行分组、过滤和字段筛选
- mybatis-plus小技能
- Java小技能:快速创建List常用几种方式
- DBA的技术方向