微信公众号开发验证服务器token失败的原因各有各的不同,我只是提供我遇到的一种:php用错代码使得没有request返回值导致微信公众号验证服务器token失败。
我后台用的是php,而且是wordpress的框架。
下图是微信开放文档的介绍:
按照文档,是没有错的,我直接用的checkSignature()函数的代码:
截图是我的 checkSignature()代码,注释部分是通过把参数写入txt文档,可以txt文档查看参数的详细信息,验证是否能接受到微信服务器发过来的数据,以及验证加密后的字符串和signature是否一样。
下面是接受微信服务器请求的url所在文件代码:
注意红框的代码,是
echo $echostr;exit;
而我之前的代码是
return $echostr;
在wordpress中返回request值是不能用return的,而是“echo x; exit;”我一直没注意,代码中没有request返回值,导致验证服务器token失败。