首先,建立自己的微信公众号,然后设置接管地址,设置好URL和Token,此时当你提交时如果你的接管地址没有进行验证输出微信接管接口需要的信息,就回提示配置失败,这是为何?
因为微信设置了你需要接管必须要满足这个URL地址是你当前确实要赋予权限的地址才行,不然你随便输入个URL就接管,那不乱糟糟了,其实这个也就是授权问题。
好了下面我们按照微信提供的demo看下如何去进行验证并成功的进行接管:
首先:
部署一个属于自己的外网URL访问地址;
(如果你有自己的域名和服务器就很好搞定,如果没有可以去sae或者bae上申请一个简单快捷)
其次:
按照demo写上验证方法进行验证;
下面就是demo中的方法:
function checkSignature()
{
include_once 'config.php';
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = $config['Token'];
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
if(!empty($_GET['signature']) && !empty($_GET['timestamp']) && !empty($_GET['nonce'])){
if(checkSignature()){
$echostr = $_GET['echostr'];
echo $echostr;
exit;
}
}
这个方法说实话只是在接入的时候会调用下,在接管后就没啥用了,如果你是想做多公众号管理后台还是会用到的,如果你只是做单一的,就只是第一次有用。
其中signature、timestamp、nonce、echostr是由微信接管的时候传递过来的参数,Token则是由自己设置的,验证完成后输出的echostr是原样输出,只是为了告诉微信现在起你的后台被我整个接管了。
最后:
去公众号设置接管地址及Token信息。
此处的接管地址必须是上面第一步中申请到的外网url,Token必须是自己设置的要一样,如果不一样则会导致无法接管,提示配置出错!
好了喜欢微信的同学赶紧去尝试下吧。