PHP编程之微信公众平台企业号验证接口示例【回调操作】
2018-09-07 12:25
本文实例讲述了PHP微信公众平台企业号验证接口。分享给大家供大家参考,具体如下:
微信公众平台企业号验证接口、回调 PHP版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天时间,因为微信企业号刚推出来的时候网上资料比较少!后来在一些朋友的帮助下和本人反复调试完善下,终于整理得到了比较理想的文档,经亲测,实验成功。
include_once WXBizMsgCrypt.php; // 第三方发送消息给公众平台 $encodingAesKey = rpJmhCphnndiCLIcNKcUmhTn2GQBNjISPU9GfsfOlxx; $token = xxxxxxx; $corpId =wxa9a0031f24631f9x; //这里已正确填写自己的corpid //公众号服务器数据 $sReqMsgSig = $sVerifyMsgSig = $_GET[msg_signature]; $sReqTimeStamp = $sVerifyTimeStamp = $_GET[timestamp]; $sReqNonce = $sVerifyNonce = $_GET[nonce]; $sReqData = file_get_contents(php://input);; $sVerifyEchoStr = $_GET[echostr]; $wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId); if($sVerifyEchoStr){ $sEchoStr = ; $errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr); if ($errCode == 0) { print($sEchoStr); } else { print($errCode . \n\n); } exit; } //decrypt $sMsg = ; //解析之后的明文 $errCode = $wxcpt->DecryptMsg($sReqMsgSig, $sReqTimeStamp, $sReqNonce, $sReqData, $sMsg); if ($errCode == 0) { $xml = new DOMDocument(); $xml->loadXML($sMsg); $reqToUserName = $xml->getElementsByTagName(ToUserName)->item(0)->nodeValue; $reqFromUserName = $xml->getElementsByTagName(FromUserName)->item(0)->nodeValue; $reqCreateTime = $xml->getElementsByTagName(CreateTime)->item(0)->nodeValue; $reqMsgType = $xml->getElementsByTagName(MsgType)->item(0)->nodeValue; $reqContent = $xml->getElementsByTagName(Content)->item(0)->nodeValue; $reqMsgId = $xml->getElementsByTagName(MsgId)->item(0)->nodeValue; $reqAgentID = $xml->getElementsByTagName(AgentID)->item(0)->nodeValue; switch($reqContent){ case 马云: $mycontent=您好,马云!我知道您创建了阿里巴巴!; break; case 马化腾: $mycontent=您好,马化腾!我知道创建了企鹅帝国!; break; case 史玉柱: $mycontent=您好,史玉柱!我知道您创建了巨人网络!; break; default : $mycontent=你是谁啊?!一边凉快去!; break; } $sRespData = <xml> <ToUserName><![CDATA[.$reqFromUserName.]]></ToUserName> <FromUserName><![CDATA[.$corpId.]]></FromUserName> <CreateTime>.sReqTimeStamp.</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[.$mycontent.]]></Content> </xml>; $sEncryptMsg = ; //xml格式的密文 $errCode = $wxcpt->EncryptMsg($sRespData, $sReqTimeStamp, $sReqNonce, $sEncryptMsg); if ($errCode == 0) { //file_put_contents(smg_response.txt, $sEncryptMsg); //debug:查看smg print($sEncryptMsg); } else { print($errCode . \n\n); } } else { print($errCode . \n\n); } ?>
附:WXBizMsgCrypt.php 文件点击此处本站下载。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结》
希望本文所述对大家PHP程序设计有所帮助。