首页 > 语言 > PHP > 正文

PHP编程之微信公众平台企业号验证接口示例【回调操作】

2024-05-04 23:59:38
字体:
来源:转载
供稿:网友

本文实例讲述了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:查看smgprint($sEncryptMsg);} else {print($errCode . "/n/n");}} else {print($errCode . "/n/n");}?>

附:WXBizMsgCrypt.php 文件点击此处本站下载

希望本文所述对大家PHP程序设计有所帮助。


注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选