微信开发之客服消息接口使用异常

2024-09-01 23:08

本文主要是介绍微信开发之客服消息接口使用异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微信开发,参考其官方接口文档微信开发者文档,其中消息管理部分定义了后台与微信用户的消息交互接口。
通常情况下,用户在公众号界面上的操作,包括发送消息,点击菜单等,对后台而言,都可将之视为一次简单的请求,作为请求的响应,后台程序,可以直接向用户返回各种形式的消息,这种向用户发送消息的形式被称为发送被动响应消息。然而有另外一种情况,即用户的操作并不是基于公众号界面,例如,用户在网页上抽奖或者消费了,我想通过公众号主动向用户发送某些提示消息,这时候之前的被动响应就无用武之地了。而客服消息接口就是用于应对这种情况。
客服消息接口的参数包括access_token,用户openid以及消息体。通常情况下,调用该接口会出现两种错误(通过官方接口测试工具可得):
(1){
“errcode”: 40001,
“errmsg”: “invalid credential, access_token is invalid or not latest hint: [szRisa0194vr29!]”
}
这种情况下,是access_token过期了,导致这种异常的原因在于,调用微信各类接口的access_token是全局性的,你可能有多个基于同一个微信公众号的应用需要独立调用微信各类接口,但必须保证,access_token在所有同类应用中的同步,一般可以通过定时器来获取刷新access_token,再将最新值写入到数据库中。所有相关应用都从数据库中获取该值,达到同步的目的。在我的另一篇博文中,提到过这个问题。
(2){
“errcode”:45015,
“errmsg”:response out of time limit or subscription is canceled
},这种异常比较隐秘,在于你所要推送消息的用户已经有很久没有和该公众号互动了,从而导致不能通过客服消息接口发送消息。不信,你试试主动在公众号界面随便发一句消息或者点一下菜单什么的,然后异常就没了。基于大部分用户都是僵尸粉,早就和公众号没有任何交互了,所以这么来说,调用客服消息接口来主动像用户推送消息的做法,值得商榷。这种情况下,我们只能换用模板消息接口来主动推送消息,具体实现可参考官方文档,我也将在之后的博客中共享出这两者的实现代码。

这篇关于微信开发之客服消息接口使用异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128305

相关文章

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的