微信公众测试号php配置失败,PHP 微信公众号的基本配置token验证失败

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 15:22   11   0

f1e7cd86b7a79505b5783dfab53d106b.png

dd3651682d2efe56d02bd9cb61666adb.png

刚接触微信公众平台开发的程序猿来说,一般都会遇到这样的问题,在微信公众号后台中设置基本配置时,提示“token验证失败”,其实微信官方也给出了“接入指南”,但是文章真的太长了,相信很多人都没耐心看完,小编也是其中一个,所以就直接网上解决方案,下面跟大家分享一下,验证代码如下(这个文件就是你填写回调地址的目标文件):

define("TOKEN", "这里填写你的token");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->valid();

class wechatCallbackapiTest{

public function valid() {

$echoStr = $_GET["echostr"];

//valid signature , option

if($this->checkSignature()){

echo $echoStr;

exit;

}

}

public function responseMsg() {

//get post data, May be due to the different environments

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

//extract post data

if (!emptyempty($postStr)){

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName;

$toUsername = $postObj->ToUserName;

$keyword = trim($postObj->Content);

$time = time();

$textTpl = "%s0";

if(!emptyempty( $keyword )) {

$msgType = "text";

$contentStr = "Welcome to wechat world!";

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

echo $resultStr;

}else{

echo "Input something...";

}

}else {

echo "";

exit;

}

}

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;

}

}

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP