微信公众号在设置这个接口配置信息遇到的大坑,可真的是谢谢写微信文档的大哥了,浪费我两个小时
在测试的时候直接复制了他的代码,调试不成功,找不到问题在哪儿,实在是非常疑惑
文档说返回echostr,刚开始以为是返回这个字符串,因为demo上并没有接收这个参数,结果报错
返回给微信使用retrurn,这个或许是我的问题,demo可能使用的是框架返回,所以直接使用了return
提示非常模糊,只会提示token验证失败,反复检查token是正确的,随便试试用了echo然后就成功了
这是文档中的演示
private function checkSignature(){ $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; }}
这是后来成功的代码
$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$echostr = $_GET['echostr'];$token = 'token';$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){ echo $echostr;}else{ return false;}
配置成功
来源地址:https://blog.csdn.net/qq_44747508/article/details/129008228