微信接口开发报错invalid credential, access_token is invalid or not latest hint

微信接口开发报错invalid credential, access_token is invalid or not latest hint

微信接口凭证access_token一定要全局管理

我们的查酒后台集成了微信公众平台的客服API接口,不用登录微信公众号的后台就可以直接给用户发送消息。最近,运营的同事反馈,通过微信查酒,后台无法直接给用户推送微信消息了。

起初,我也没在意,大体觉得可能是访问微信接口的AccessToken凭证失效了,需要重新请求,所以就手工删除一下服务器端缓存的access_token文件,就好用了。可是过不了多久,就又不行了。

今天仔细看了一下代码,觉得没有问题,access_token的有效期是2个小时,在2小时之内我们可以直接使用缓存的access_token,过2小时,就重新再请求新的access_token。

查看了一下报错信息如下:
invalid credential, access_token is invalid or not latest hint

大意是access_token无效或者不是最新的, 于是想到access_token每次从微信服务器取一次就新生成一次,同时老的token就失效了。

而我们服务器上不止这一个业务调用了微信接口,我们的网页也加了微信转发分享的功能,也是要取access_token的,而这两个业务的access_token是分开缓存的,没有打通,因此出现了上面的问题。

解决方法,就是整个系统使用统一的获取access_token的方法,保证access_token的有效性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113504.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • activiti5.22 springboot 流程引擎 实战全过程

    activiti5.22 springboot 流程引擎 实战全过程一.背景现在很多项目流程上比较复杂,业务上不复杂,对于这种项目,引入流程引擎会比较合适,流程有流程引擎去做管理,让设计更合理,开发更简单。市面上有很多款流程引擎,本人选用了使用率比较广的流程引擎activiti。activiti现在最高版本已经到7,springboot最高版本是6,由于网络上5.22版本资料最多,所以选用了5.22版本作为项目集成。二.activi…

    2022年10月20日
    3
  • golang开发环境搭建_golang web框架

    golang开发环境搭建_golang web框架Golang环境搭建———————Windows平台应先安装MinGW 一、Windows平台1.下载官方提供的相应平台的安装包:https://code.google.com/p/go/downloads/list2.将下载的安装包解压到自己指定的Golang安装目录下(假设为:D:\Go)。3.添加如下环

    2022年10月12日
    2
  • 如何关闭nginx服务_如何启动nginx

    如何关闭nginx服务_如何启动nginxNginx服务器启停命令Nginx安装完成后,接下来我们要学习的是如何启动、重启和停止Nginx的服务。对于Nginx的启停在linux系统中也有很多种方式,我们本次课程介绍两种方式:Nginx服务的信号控制Nginx的命令行控制方式一:Nginx服务的信号控制前面在提到Nginx的高性能,其实也和它的架构模式有关。Nginx默认采用的是多进程的方式来工作的,当将Nginx启动后,我们通过ps-ef|grepnginx命令可以查看到如下内容:从上图中可以看到,Nginx后台进程中包含

    2022年8月13日
    1
  • iterator迭代器详解_迭代器是什么

    iterator迭代器详解_迭代器是什么迭代器 Iterator动机模式定义实例结构要点总结笔记动机在软件构建过程中,集合对象内部结构常常变化各异.但对于这些集合对象.我们希望在不暴露其内部结构地同时.可以让外部客户代码透明地访问其中包含地元素;同时这种”透明遍历”也为”同一种算法在多种集合对象上进行操作”提供了可能.使用面向对象技术将这种便利机制抽象为”迭代对象”为”应对变化中地集合对象”提供了一种优雅地方式模式定义提供了一种方法顺序访问一个聚合对象中地各个元素,而又不暴露(稳定)该对象地内部表示.实例结构要点总结迭代抽象

    2022年8月9日
    4
  • html a标签打开新窗口_a标签链接打开新页面

    html a标签打开新窗口_a标签链接打开新页面1、使用标签打开新窗口不在本页面打开target=”_blank”<atitle=”信息展示”href=”#”target=”_blank”id=”#”>信息展示</a>>

    2025年7月1日
    5
  • FileInputFormat

    FileInputFormat最顶级是InputFormat抽象类,该类定义了两个方法,方法getSplits是负责切分输入文件(们)的,把很多的输入文件(们)切分成很多的输入分片,切分规则就是在这里定义的,每个InputSpl

    2022年7月2日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号