5分钟带你入门微信开发!

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 5分钟带你入门微信开发!

前言

了不起学弟:了不起,我最近在学习开发一个小程序。

了不起:哟,不错哦,都在开发小程序了?

了不起学弟:哈哈哈是啊,最近的学习进度还是可以的。

了不起:可以,那调用接口方面感觉怎么样啊?

了不起学弟:额。。我有时候调成功,有时候会报access_token过期。

了不起小面:原来是这个问题啊,那我就来指导你一下吧。

正文

为什么要用access_token?:

access_token就是接口调用凭据,必须要有,才可以去调用接口。如果没有那就会拒绝请求。开发小程序,接口调用凭证是必须要的,他的有效期是7200秒,也就是两个小时。

如何获取access_token?:

GET https://api.weixin.qq.com/cgi-bin/token 

我们调用这个链接就行,参数就是小程序的appid和secret,就是小程序的唯一凭证和唯一凭证秘钥。获取这个需要成为小程序的开发者才能获取。出参就是access_token 和 expire_in 有效时间。

如何定时刷新access_token?:

我们为何要定时刷新?因为access_token的有效期是2个小时,过了有效期,那这个凭证就会失效。同时如果凭证还没过期,再次获取凭证后,旧凭证就会在五分钟之后过期。在五分钟之内,新旧凭证都可以使用。在多个业务服务下,各服务需要维护一个access_token,不可以自己去刷新自己的,避免服务调用微信接口失败。

聊到这,大家就可以思考一下,我们需要做的是 定期获取+统一维护。小面给大家一个可实践的方案:我们使用定时任务去刷新access_token,然后使用redis分布式锁去维护同一个access_token。在多个服务下,使用redis分布式锁去维护一个access_token,这样子就可以避免自己调用自己的而造成的冲突。然后可以去使用quartz去定时任务刷新redis维护的access_token,比如一小时50分钟刷新一次,记得如果获取失败需要再重新调用一下。

这样子通过这两个技术手段,我们就可以维护一个24小时都没问题的access_token。小面在这里建议:还需要在你的管理后台去写一个获取access_token的接口,以防各种问题导致的获取access_token失败,最终redis里面的access_token都失效了,还没有获取到access_token。这样子不管是因为网络等原因导致的获取access_token失败,还是access_token失效期更新,我们都可以去手动执行一次定时任务去解决这个问题。

同时微信也有免维护access_token的方法,大家可以去看一下,免鉴权直接使用微信接口。

接口实例:

请求接口实例:GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

返回数据实例:{ "access_token":"ACCESS_TOKEN", "expires_in":7200 }

问问chatgpt如何评价Accesstoken机制?:


微信开发的access token机制是一种用于验证开发者身份和访问微信公众平台接口的机制,具有以下优点和缺点:

优点:

  1. 简单易用:微信提供了简单易用的API,使开发者可以通过简单的HTTP请求获取access token。
  2. 自动续期:微信的access token有效期为2小时,但微信提供了自动续期机制,开发者无需手动维护access token的有效期。
  3. 安全性高:access token是通过appid和appsecret进行验证,保证了开发者身份的安全性。

缺点:

  1. 有效期短:access token的有效期仅为2小时,需要开发者不断地获取和更新。
  2. 并发限制:微信对每个公众号的access token并发请求进行了限制,如果请求过于频繁就会被封禁。
  3. 依赖网络:微信的access token机制依赖于网络,如果网络不稳定或者中断,将无法获取access token,影响业务正常运行。

总的来说,微信开发的access token机制在保证安全性和简单易用性的前提下,存在一些缺点需要开发者注意和解决。



总结

微信开发第一步,学会维护access_token~

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
JSON 小程序 JavaScript
微信小程序入门实践
微信小程序入门实践
|
6月前
|
JSON 小程序 前端开发
微信小程序框架(五)-全面详解(学习总结---从入门到深化)
微信小程序框架(五)-全面详解(学习总结---从入门到深化)
218 0
|
6月前
|
存储 缓存 JSON
微信小程序框架(四)-全面详解(学习总结---从入门到深化)
微信小程序框架(四)-全面详解(学习总结---从入门到深化)
198 0
|
25天前
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
43 1
|
6月前
|
小程序 JavaScript 前端开发
微信小程序云开发入门实践
微信小程序云开发入门实践
|
5月前
|
小程序
微信小程序学习笔记(入门篇)
微信小程序学习笔记(入门篇)
61 0
|
5月前
|
小程序
微信小程序快速入门 - 10分钟入门
微信小程序快速入门 - 10分钟入门
45 0
|
6月前
|
小程序 Java 编译器
性能工具之JMeter 微信小程序 WebSocket 脚本入门
【5月更文挑战第12天】性能工具之JMeter 微信小程序 WebSocket 脚本入门
206 1
|
6月前
|
小程序 JavaScript 容器
微信小程序入门学习02-TDesign中的自定义组件
微信小程序入门学习02-TDesign中的自定义组件
|
6月前
|
JSON 小程序 前端开发
微信小程序开发入门学习01-TDesign模板解读
微信小程序开发入门学习01-TDesign模板解读

热门文章

最新文章