微信公众平台地址:https://mp.weixin..com/
微信开发官方说明文档:http://mp.weixin..com/wiki/home/
微信开发测试公众账号申请:http://mp.weixin..com/debug/cgi-bin/sandbox?t=sandbox/login (打开后点击登录,用自己的微信号扫一扫就会发放一个相应的测试公众账号,此账号拥有所有接口权限,仅供程序员测试使用)
2、网站空间
如果自己有的话就忽略,没有的可以使用阿里云,领券地址:死戳这里
valid(); }else{ $wechatObj->responseMsg(); } class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; if($this->checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { // $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; // 虚拟机可能禁止register_globals导致无法获取body数据 $postStr = file_get_contents("php://input"); if (!empty($postStr)){ libxml_disable_entity_loader(true);//安全防护 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $textTpl = "
%s
%s
%s
%s
%s
0
"; if(!empty( $keyword )) { $msgType = "text"; //用户给公众号发消息后,公众号被动(自动)回复的消息内容 $contentStr = "欢迎来到微信公众平台开发世界!"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; } } private function checkSignature() { if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $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; } } } ?>
2、开发者中心服务器配置
进入公众平台后点击开发者中心,在服务器配置栏按如下图进行配置(URL改为自己SAE项目的URL地址),配置完成后保存并点击启用(注意:一定要先上传以上代码到空间再来配置,否则无法通过验证就提示配置失败)

3、示例结果展示
上面的代码实现的是一个发送任意文本消息后,公众号都会回复一句“欢迎来到微信公众平台开发世界!”

4、代码结构分析
toUser
fromUser
text
this is a test
23456
相关参数:
参数 描述
ToUserName 开发者微信号 FromUserName 发送方帐号(一个OpenID) CreateTime 消息创建时间 (整型) MsgType 消息类型(text) Content 文本消息内容 MsgId 消息id,64位整型
toUser
fromUser
text
你好
相关参数:
参数 是否必须 描述
ToUserName 是 接收方帐号(收到的OpenID) FromUserName 是 开发者微信号 CreateTime 是 消息创建时间 (整型) MsgType 是 text Content 是 回复的消息内容(换行:在content中能够换行,微信客户端就支持换行显示)
4、图解

微信用户给公众号发送一条”this is a test”消息,微信服务器和我的服务器之间以xml格式在后台进行数据传输,最终将”你好”返回给用户。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205654.html原文链接:https://javaforall.net
