Rumah > Artikel > pembangunan bahagian belakang > 微信公众平台企业号验证接口、回调 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></tousername><fromusername></fromusername><createtime>".sReqTimeStamp."</createtime><msgtype></msgtype><content></content></xml>";$sEncryptMsg = ""; //xml格式的密文$errCode = $wxcpt->EncryptMsg($sRespData, $sReqTimeStamp, $sReqNonce, $sEncryptMsg);if ($errCode == 0) {//file_put_contents('smg_response.txt', $sEncryptMsg); //debug:查看smgprint($sEncryptMsg);} else {print($errCode . "\n\n");}} else {print($errCode . "\n\n");}?>
http://mp.weixin.qq.com/wiki/downloads/SampleCode.zip