从去年开始做微信开发有一年时间了,做过PHP和.net两种微信开发,有一些技巧分享给大家。
首先部署的服务器要是80端口,之前都是在百度开发者中心申请的免费的,后来他们收费了,就在新浪开发者中心申请的服务器,这种服务器只能部署PHP的代码,新浪免费版的服务器不支持ASP.net。
在连接微信的时候会报token验证失败,这个可能是代码问题,也有可能是URL的问题,建议弄个最简单的微信代码测试一下,下面的是PHP的,直接拷贝上去,替换相关参数,连接测试一下,或者有时候是网络问题,用这个连接上了,再把自己的代码拷贝过来。
<?php define("TOKEN", "pondbay"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } } ?>
后面在开发中,推送的URL可以直接用浏览器打开试试,看看返回的json是不是有问题。开发的代码中最好加上日志文件,便于跟踪查错。
另外,接口文档中有个错误,需要注意,群发消息类型图文消息是mpnews,文本是text,图片是image,语音是voice,音乐是music,视频官方接口文档中写的是vedio,但是那样会报类型出错,应该是mpvedio。
时间: 2024-11-05 19:01:05