该公众号暂时无法提供服务请稍后再试
关键字:该公众号暂时无法提供服务,请稍后再试 微信公众平台
原文:http://www.cnblogs.com/txw1958/p/weixin-suspend-service-solution.html
在用户向公众号发消息,或点击自定义菜单时,开发者一般会根据业务需要,利用被动响应消息接口,向用户回复响应消息。
如果开发者认为用户消息无须回复,或开发者准备随后再通过客服消息接口来对用户进行回复,请按照开发者文档的要求,直接回复空串,微信服务器收到空串则不会进行处理。
一旦遇到以下情况,微信都会在公众号会话中,向用户下发系统提示“该公众号暂时无法提供服务,请稍后再试”:
1. 开发者在5秒内未回复任何内容
2. 开发者回复了异常数据
详细流程请见开发者文档:发送被动响应消息接口。以上改动将于两周后(2014年10月30日)生效,请开发者注意。
具体提示如下图所示:
原因分析:
最主要的还是开发人员写代码不够严谨,没有严格遵守开发文档的标准XML格式回复。
解决方案:
1. 使用高性能的服务器及空间,海外普通虚拟空间延迟大,建议使用云主机或国内知名服务商的空间
2. 开发模式下保证所有内容都有回复,不能匹配到的回复直接回复空字符串,而不是参数Content为空的xml消息,以便让微信服务器知道程序有响应
例如下面的这个回复就是导致上述错误的原因之一
<xml> <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName> <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName> <CreateTime>1359036631</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[]]></Content> </xml>
如果使用的是方倍工作室的微信开发接口DEMO,那么需要在回复文本消息时都不回复空内容,或者加入空值判断以进行二次保护,如下面代码中第4~6行所示
1 //回复文本消息 2 private function transmitText($object, $content) 3 { 4 if (!isset($content) || empty($content)){ 5 return ""; 6 } 7 8 $xmlTpl = "<xml> 9 <ToUserName><![CDATA[%s]]></ToUserName> 10 <FromUserName><![CDATA[%s]]></FromUserName> 11 <CreateTime>%s</CreateTime> 12 <MsgType><![CDATA[text]]></MsgType> 13 <Content><![CDATA[%s]]></Content> 14 </xml>"; 15 $result = sprintf($xmlTpl, $object->FromUserName, $object->ToUserName, time(), $content); 16 17 return $result; 18 }
3. 检查xml格式,不要擅自加其他内容,网上一些代码喜欢自行添加其他内容,比如xml version等,最好去掉这些不符合微信消息格式的内容。
4. 检查代码中是否有echo、var_dump、以及一些告警信息打印,这些信息也会被返回给微信服务器而扰乱XML,从而导致上述问题。
5. 使用方倍工作室的微信调试器,做同样的关键字发送,查看返回的数据是否有异常或超时。微信调试器地址 http://debug.fangbei.org/。
6. 参考《微信公众平台开发最佳实践》一书消息构造格式,或使用该书提供的SDK。点此购买

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Hexo 入门指南(一) - 简介 & 准备
Hexo是一个开源的静态博客生成器,用node.js开发,作者是台湾大学生tommy351。 为什么是博客 对于个人网站来说,没有比博客更合适的形式了。在博客中,文章才是最主要的,一切都显得主次分明,干净利落。相比之下,论坛中主题和回复鱼龙混杂,阅读体验非常差。同时,博客比论坛的数据库小很多,便于维护。 为什么是静态博客 很多人选择在虚拟主机或vps上面搭建动态博客。但是这些主机商通常“免费的不稳定,稳定的不免费”。前一段时间,我观察了我的个人博客友链上面的几个站点,一部分在十几天之后就销声匿迹了。独立博客如此麻烦的维护工作,能不能减轻一些呢?正如阮一峰前辈所说,blogger分为三个阶段。最开始,是门户博客。之后,是独立博客。最后,觉得独立博客自己管理起来费劲,便找个别人来管的空间,自己负责写就好。如果我们能够找到这样的空间,在自己保留最大控制权前提下,由别人托管,会省去不少事情。 静态博客编译之后是纯html页面,优点就是支持它的环境十分好找,例如github、gitcafe、七牛云存储等站点都支持静态页面托管,自然是我们的首选了。由于github page在国内访问较慢,这篇文章...
- 下一篇
ceph for openstack快速部署实施
for el6 即centos6 1,添加ceph 官方yum源 [root@ruiy ~]# cat /etc/yum.repos.d/ceph.repo[ceph-noarch]name=Ceph noarch packagesbaseurl=http://ceph.com/rpm-firefly/el6/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc[root@ruiy ~]# 2,更新yum 源 yum update && sudo yum install ceph-deploy Installed: ceph-deploy.noarch 0:1.5.19-0Dependency Installed: python-argparse.noarch 0:1.2.1-2.el6Complete!
相关文章
文章评论
共有0条评论来说两句吧...