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

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

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

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

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

问题描述:

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

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


问题分析:

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

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

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

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

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

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

      try{

        Map<String, Object> 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();

      }

   }

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

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

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

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

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

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

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

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

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

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

  

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

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

到此,问题解决!!!

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

这个坑够深吧???

我只能说,微信开发的坑没有最深,只有更深!!!
  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
微信小程序开发公众号需要进行以下几个步骤: 1. 首先,你需要申微信公众号和小程序。微信公众号和小程序可以通过微信官方网站进行申。 2. 接下来,你需要将微信小程序和公众号进行关联。这是为了实现消息推送功能。关联的过程需要在微信公众开发平台进行操作。 3. 在小程序的后端管理界面登录并查看小程序的appid和secret。这些信息将在与微信进行求交互时使用。 4. 为了实现与微信求交互,你需要使用https,并建议使用域名来实现。你还需要准备好对应的https证书,并在小程序的后端开发中配置好外网端口。 5. 如果你想实现微信推送功能,你需要成功关联微信公众号,并将你的IP添加到白名单中,以便获取token。 6. 如果你想实现图片上传功能,建议使用图片服务器,并将图片路径返回给前端。在使用Nginx时,需要注意设置传输大小。 7. 小程序的打包体积不能超过2M,其他资源(包括图片等)应放在后端的静态服务器中。 8. 在进行小程序体验版自测时,你需要在微信管理后台添加相应的开发人员,并在登录小程序时使用开发功能。同时,体验版的网络和后端服务的网需要在同一局域网才能进行访问。 9. 如果你想升级和上线小程序,需要提前提交审核申。初次审核可能需要较长时间,一般需要提前进行准备。在上线前,你需要在微信公众开发平台添加获取token的白名单,并确保后端服务开启了外网访问权限。 以上是关于微信小程序开发公众号的一些流程和步骤。你可以参考微信官方文档和API文档获取更详细的信息。 #### 引用[.reference_title] - *1* *2* *3* [手记系列之一 ----- 关于微信公众号和小程序的开发流程](https://blog.csdn.net/qazwsxpcm/article/details/127600663)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值