腾讯微信公众平台示例代码…"/>
如何使用腾讯微信公众平台示例代码…
下面教大家,如何使用腾讯微信公众平台示例代码。
微信平台已经全面改版, 新版的帮助直接看帮助即可: .php?title=消息接口指南 以下是旧版设置(新版本设置更简单,只有2个选项): 1.设置好自己的微信公众平台消息接口,这个大家参照网站提示设置即可 注意先要上传API示范文件(注意验证签名的时候文件格式用ANSI,不要修改,签名通过了建议修改为UTF-8格式,记事本打开另存的时候可以选择文件存储编码格式,不是网页格式哦),修改token为自己的token,即api的TOKEN和自己平台的是一致的,然后 点击提交,如果正确会,显示"提交成功” 注意事项:为什么自己创建的index.php代码和示例代码相同,但是验证签名不能通过呢?应为很多软件创建的文件都包含BOM,PHP不支持,所以要报BOM去掉(示例代码已经去BOM了),可以使用UE,或者Linux VI set nobomb命令。
注意URL网址对应的必须是接口处理文件比如:http://www.abc/weichat/ 默认页面是index.php,那么可以把帮助中的示例代码下载下来 wx_sample.php 修改为index.php然后上传到网站weichat目录下。
2.显示消息:当用户发送消息到,接口,接口做出响应,然后返回消息。在用户微信客户端显示。
3.必须对SDK代码做一点点修改,原来SDK代码只调用了签名,根本没有调用responseMsg()方法。只需要在代码开始添加调用代码即可,开头部分代码如下:
//define your token
define("TOKEN", "weixin"); //TOKEN和你在公众接口里设置的一样比如weixin,
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid(); //接口设置成功后把 //$wechatObj->valid();注释掉(12月31日修订)
$wechatObj->responseMsg(); //就是添加这段调用代码
一切就绪后随便向平台发送个消息,然后就会显示了,注意平台发送内容编码格式是“UTF-8”
3.深入开发。所有数据处理都可以在responseMsg方法中完成,你想怎么做都可以。
4.注意事项,返回消息长度限制2048个字节。
5.如果你的关键词不多,可以不使用接口,直接定义关键词,和回复内容即可(做多200条规则)。
6.补充一下,很多朋友不会设置,上个图
本人不是从事开发和编程工作,只是业余爱好,水平和事件有限,由于之前咨询的人太多,所以把QQ号去了,请大家谅解。完整代码示例如下,这个代码不包含任何处理,如果要处理消息在responseMsg()添加你的处理代码,比如查询数据库,采集百度内容回复,还是其他,一切自己定义:
<?php //define your token define("TOKEN", "weixin"); //和你自己设置保持一致即可 $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); //接口设置成功后把$wechatObj->valid();注释掉,感谢happylyang反馈。 $wechatObj->responseMsg(); 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 (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); //这个就是用户发过来的关键字 $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; if(!empty( $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); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ return true; }else{ return false; } } } ?>
更多推荐
如何使用腾讯微信公众平台示例代码…
发布评论