《PHP编程:PHP编程之微信公众平台企业号验证接口示例【回调操作】》要点:
本文介绍了PHP编程:PHP编程之微信公众平台企业号验证接口示例【回调操作】,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了PHP微信公众平台企业号验证接口.分享给大家供大家参考,具体如下:PHP编程
微信公众平台企业号验证接口、回调 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网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结》PHP编程
希望本文所述对大家PHP程序设计有所帮助.PHP编程
转载请注明本页网址:
http://www.vephp.com/jiaocheng/262.html