zoukankan      html  css  js  c++  java
  • [置顶] 微信开发出现“该公众号暂时无法提供服务,请稍后再试”的坑


    版权声明:本文为博主原创文章,未经博主允许不得转载。

    微信开发出现“该公众号暂时无法提供服务,请稍后再试”的

    Grant Ling原创,转载请注明出处

    从刚开始接触微信开发就发现网上都在吐槽,微信开发到处是坑!在开发的过程中也确实不断的遇到各种大小的坑,跌跌撞撞也都过来了。

    今天又发现了一个坑,这个坑一般不容易被发现,网上也没任何资料,觉得必须记录下来,否则说不定下次又掉这坑里了!废话少说,开始填坑吧!

    问题描述:

    1.        凡是扫描带参数的二维码,无论是长期还是临时的二维码都出现“该公众号暂时无法提供服务,请稍后再试”。并且是扫描完后马上就出现该错误,肯定没到微信所要求的5秒内响应时间。

    2.        给公众号发送文本消息、语音消息等其他消息则不会出现该错误


    问题分析:

    做微信开发的肯定知道,这很可能是服务器不能在5秒内处理微信的消息造成的。所以我也一直都往这个方向去思考!

    我用的是Java开发,响应微信请求的思路是:

    为了确保不出现“该公众号暂时无法提供服务,请稍后再试”的错误,我在程序中采取了两措施:

    1.        在收到微信消息的第一时间就通过异步回复信息。

    2.        最程序最后,通过finally的方式回复空串。

    protected void doPost(HttpServletRequest request, HttpServletResponseresponse) throws ServletException,IOException {

         try{

            Map msgMap = WeChatMessageUtil.parseXml(request);

           final StringopenID = (String) msgMap.get(BaseMessage.PROP_FROM_USER_NAME);

           

           //首先异步回复消息,确保不超时

            Thread responseThread =new Thread(){

               public void run(){

                 //调用客服接口回复消息

                  WeChatMessageUtil.replyTextByCS(openID,"", null);

               }

            };

           responseThread.start();

          }catch(Exceptione){

           

          }finally{

           //最后回复空串

            PrintWriter writer = response.getWriter();

           writer.print(""); 

              writer.flush(); 

              writer.close();

          }

       }

    在网上搜索了一圈,都说是回复超时,或者是回复内容不规范。但是同样的方法,在回复文本消息或者其他非扫码事件的时候都没有任何问题。

    我还尝试了同样的程序,我接入别的公众号,扫码时却不会出现该错误。

    为此,我认为问题肯定是在公众号的设置上。于是又将微信号的各种设置给倒腾了一遍。结果还是一样。

    在微信的这一圈设置中,每一个细节都留意了。看到微信提供的【运维中心】的【接口警报】功能,就想着看看这能不能有点帮助,于是开通了【接口警报】功能。

    将阈值设为最小,看能不能收到警报。

    果然还真的收到了警报:(微信这个功能还是要赞一个的,最终也是从这里发现了这个大坑的蛛丝马迹的)

    细看警报内容,发现怎么回复的内容那么奇怪?尝试打开链接,发现竟然链接到了腾讯云服务器上。

    这微信跟腾讯云有啥关联???

    突然想起此前再腾讯云上购买过虚拟主机,并且使用了这个微信公众号作为认证,难道跟这个有关系?

    平常登录腾讯云的时候,为了图方便,也直接使用微信扫码登录的。再登录,留意一下整个登录过程,以及授权信息:

      

    如果之前授权过,没有取消或者重新授权,都会出现以上问题。

    这里务必取消“账号服务权限”!!!

    到此,问题解决!!!

    原来是因为这个默认授权,所有的二维码扫描都转到腾讯云去了!

    这个坑够深吧???

    我只能说,微信开发的坑没有最深,只有更深!!!
  • 相关阅读:
    XP的定时关机命令?
    Vim简明教程【CoolShell】
    我和小美的撸码日记(3)之中的一个句话搞定MVC表单页数据绑定与提交
    Linux/RedHat 编译安装GNU gcc 4.9.0 (g++)
    真实股市房市信托本质,金融故事三则:钱都去哪儿了?
    一分钟制作U盘版BT3
    Android Studio中导入第三方库
    WebService究竟是什么?
    “权限”用英语该用哪个?
    Cocos2d-x v3.0 新的事件调度方法 lambda表达式的使用
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15455185.html
Copyright © 2011-2022 走看看