信公众平台,在发送消息的时候提示“该公众账号暂时无法提供服务,请稍后再试”,遇到这样的情况很多人不知道怎么去处理,下面教大家如何处理这个问题。 
在用户向公众号发消息,或点击自定义菜单时,开发者一般会根据业务需要,利用被动响应消息接口,向用户回复响应消息。 如果开发者认为用户消息无须回复,或开发者准备随后再通过客服消息接口来对用户进行回复,请按照开发者文档的要求,直接回复空串,微信服务器收到空串则不会进行处理。 一旦遇到以下情况,微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”: 1. 开发者在5秒内未回复任何内容 2. 开发者回复了异常数据 详细流程请见开发者文档:发送被动响应消息接口。 官方提供: 对于每一个POST请求,开发者在响应包(Get)中返回特定XML结构,对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。请注意,回复图片等多媒体消息时需要预先上传多媒体文件到微信服务器,只支持认证服务号。 微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。 关于重试的消息排重,有msgid的消息推荐使用msgid排重。事件类型消息推荐使用FromUserName + CreateTime 排重。 假如服务器无法保证在五秒内处理并回复,必须直接回复空串(是指回复一个空字符串,而不是一个XML结构体中content字段的内容为空,请切勿误解),微信服务器不会对此作任何处理,并且不会发起重试。。这种情况下,可以使用客服消息接口进行异步回复。 请开发者注意,一旦遇到以下情况,微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”: 1、开发者在5秒内未回复任何内容 2、开发者回复了异常数据,比如JSON数据等 除了以上情况还有一些是小失误导致的。 1、检查代码是否保存成功。 2、服务器是否支持80端口。 4、如果选择的是安全模式,代码里面是否有加相关的解密代码。如果没有建议使用兼容模式或者明文模式,开发起来调试比较方便。 5、消息体XML格式不正确(无加密字段或字段错误) 6、签名/AppID校验失败 原因分析: 最主要的还是开发人员写代码不够严谨,没有严格遵守开发文档的标准XML格式回复。 解决方案: 1. 使用高性能的服务器及空间,海外普通虚拟空间延迟大,建议使用云主机或国内知名服务商的空间 2. 开发模式下保证所有内容都有回复,不能匹配到的回复直接回复空字符串,而不是参数Content为空的xml消息,以便让微信服务器知道程序有响应。
|