微信公众号开发的坑

今天发现的一个坑,大致情况是这样的。

微信开发,都需要获取Access token,而这个Access token根据腾讯的文档,说的是7200秒过期(也就是2小时的时间)。

上图是文档说明。文档链接:微信开放文档

这个是文档结出的样例,文档说的“目前access_token的有效期通过返回的expire_in来传达,目前是7200秒之内的值。”也就是说,可能不到7200秒,所以,当初在做系统时为了保障系统的正常运行,也没有使用7200的固定值,而是使用了他返回的这个数值,为了更加妥当,还做了300秒的提前值(5分钟)。

悲剧的是,我都做了提前,仍然出现了问题。通过查看系统日志发现:他居然提前了至少16分钟过期,(他告诉我7200秒过期,我出现问题的时间距离过期还有16分钟之久,重要的是,因为接口使用量小,本周期中只使用了两次,其中一次正常的)。

所以啊,我现在只能在他给的期限内再提前30分钟刷新Access token试试了。

留此文以纪念。

上一篇《Delphi 微信支付接口AEAD_AES_256_GCM解密》有需要的朋友也可以看看哈。

补充说明:

  这几天回头再对系统做了检查。发现,坑我的是我自己,检查开发环境日志发现那天开发环境里使用了生产环境的微信配置并对token进行了刷新,所以导致生产环境里的原有token不可使用。误认为是返回的7200不准确。

后来,我实际也对程序进行了容错处理(之前是懒了一点,有容错,但有点简单),当发再token不能使用时,会自动调用刷新token,如果5次不成功,则放弃并预警。

微信公众号开发源码Java是用Java语言编写的用于开发微信公众号的源代码。微信公众号开发是指通过开发者账号申请成为微信公众号开发者,利用微信提供的开发接口和SDK来开发和管理公众号。 Java作为一种广泛应用于企业级开发的编程语言,在微信公众号开发中也得到了广泛应用。通过使用Java开发微信公众号,可以实现公众号的业务逻辑,包括用户管理、消息推送、菜单设置、素材管理等功能,以及与其他系统的对接、数据的处理和存储等。 对于开发微信公众号的源码来说,Java源码通常包括了处理微信服务器与开发者服务器之间的消息通信和交互的代码,以及各类功能模块的实现代码。开发者可以根据自己的需求和业务逻辑,使用Java语言编写各种业务逻辑代码,并通过开发工具集成微信提供的SDK库来实现与微信服务器之间的交互。 在Java源码的基础上,开发者还可以根据需要进行定制和扩展,以满足更具体的业务需求。可以添加自定义的功能模块或者对现有功能进行修改和优化,以适应不同的应用场景和业务要求。 总之,微信公众号开发源码Java是用于开发微信公众号的源代码,通过使用Java语言和相应的开发工具,开发者可以自定义和实现具体的业务功能,满足不同用户的需求,并与微信服务器进行消息交互,为用户提供更好的微信公众号服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值