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();

          }

       }

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

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

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

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

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

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

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

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

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

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

      

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

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

    到此,问题解决!!!

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

    这个坑够深吧???

    我只能说,微信开发的坑没有最深,只有更深!!!
  • 相关阅读:
    Java实现 蓝桥杯VIP 基础练习 完美的代价
    Java实现 蓝桥杯VIP基础练习 矩形面积交
    Java实现 蓝桥杯VIP 基础练习 完美的代价
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    Java实现 蓝桥杯 蓝桥杯VIP 基础练习 数的读法
    核心思想:想清楚自己创业的目的(如果你没有自信提供一种更好的产品或服务,那就别做了,比如IM 电商 搜索)
    在Linux中如何利用backtrace信息解决问题
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15455185.html
Copyright © 2011-2022 走看看