微信公众号启用服务器配置后,如何不对用户操作做出反应

2019-05-05 696 Lei 0

问题:

微信公众号启用服务器配置后,用户对微信公众号进行一些我们不想处理的操作时(如用户向公众号发送消息,我们希望公众号不返回任何内容),微信服务号会发生错误,提示“该公众号提供的服务出现故障,请稍后再试”。

分析:

一旦启用服务器配置,那么用户对微信公众号进行操作(关注、发送消息等)时,微信均会post相应的操作数据到我们配置的地址,我们配置的地址需要返回一个String类型的处理结果给微信。所以导致异常一定是因为该地址没有返回微信指定格式的内容。可能原因如下:

  1. 程序本身存在问题,产生了错误。
  2. 没有按照微信指定的格式返回。
  3. 加解密、签名有问题。
  4. 程序在5秒内没有任何返回。

回到我们的问题:不对用户操作进行处理。

那么我们需要告诉微信,用户做的这件事情,我们不返回任何信息给用户。(如果我们对用户操作进行了处理并返回了信息给用户,就是被动消息回复。)怎么告诉微信呢?

我们需要返回success或者返回空串。

需要注意的是,无论我们采用的是明文方式,还是安全模式,都只需要直接返回空串或者"success"。安全模式下,并不需要对空串或者"success"进行加密再返回

我采用的是安全模式,正常情况下,给用户回复消息,是需要对消息内容进行加密,然后返回加密后的相关信息给微信。但是如果不对用户触发的事件进行回复,那么直接返回"success",这样就公众号就不会再报错了。如下所示:



  0