最近因为学长的项目需要,我被派去研究微信的开发= =。 稍微有那么一点心得,写下来,以便以后回头来看。
首先注册微信公众号,申请测试账号什么的我就不细说了。
一、关于微信公众号接入网址
这是从开发者文档上面弄下来的,下图就是接入的地方,在开发者中心-服务器的配置,
看一下微信开发者文档是怎么说的
URL:就是你的服务器的URL(要能响应TOKEN验证,还要能在外网访问到这个服务器,因为自己有服务器用就不说多了,没有服务器的可以用SAE,在上面申请,不过好像要实名认证,)
TOKEN:这个算是自己设置的一个验证码,要自己在代码里面设置的(并且当微信服务器器把GET请求发到你的服务器的时候,能返回这个值,
注:微信服务器的GET请求会带四个参数signature,token,timestamp,echostr;POST请求会带三个参数除了刚才的echostr)
EncodingAeskey:直接点击随机生成就好了。
接着直接上代码
<?php //定义常量token define(‘TOKEN‘,‘weixin‘); //检查标签 function checkSignature() { //先获取到这三个参数 $signature = $_GET[‘signature‘]; $nonce = $_GET[‘nonce‘]; $timestamp = $_GET[‘timestamp‘]; //把这三个参数存到一个数组里面 $tmpArr = array($timestamp,$nonce,TOKEN); //进行字典排序 sort($tmpArr); //把数组中的元素合并成字符串,impode()函数是用来将一个数组合并成字符串的 $tmpStr = implode($tmpArr); //sha1加密,调用sha1函数 $tmpStr = sha1($tmpStr); //判断加密后的字符串是否和signature相等 if($tmpStr == $signature) { return true; } return false; } //如果相等,验证成功就返回echostr if(checkSignature()) { //返回echostr $echostr = $_GET[‘echostr‘]; if($echostr) { echo $echostr; exit; } } ?>
最后把这个代码传到你的服务器,URL,token什么的填写好,出现配置成功就OK了。