PHP編程之微信公眾平臺(tái)企業(yè)號(hào)驗(yàn)證接口示例【回調(diào)操作】
本文實(shí)例講述了PHP微信公眾平臺(tái)企業(yè)號(hào)驗(yàn)證接口。分享給大家供大家參考,具體如下:
微信公眾平臺(tái)企業(yè)號(hào)驗(yàn)證接口、回調(diào) PHP版,本人為了解決這個(gè)企業(yè)號(hào)的驗(yàn)證和發(fā)送消息的問(wèn)題,整整研究了幾天時(shí)間,因?yàn)槲⑿牌髽I(yè)號(hào)剛推出來(lái)的時(shí)候網(wǎng)上資料比較少!后來(lái)在一些朋友的幫助下和本人反復(fù)調(diào)試完善下,終于整理得到了比較理想的文檔,經(jīng)親測(cè),實(shí)驗(yàn)成功。
include_once "WXBizMsgCrypt.php";
// 第三方發(fā)送消息給公眾平臺(tái)
$encodingAesKey = "rpJmhCphnndiCLIcNKcUmhTn2GQBNjISPU9GfsfOlxx";
$token = "xxxxxxx";
$corpId ="wxa9a0031f24631f9x"; //這里已正確填寫(xiě)自己的corpid
//公眾號(hào)服務(wù)器數(shù)據(jù)
$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="您好,馬云!我知道您創(chuàng)建了阿里巴巴!";
break;
case "馬化騰":
$mycontent="您好,馬化騰!我知道創(chuàng)建了企鵝帝國(guó)!";
break;
case "史玉柱":
$mycontent="您好,史玉柱!我知道您創(chuàng)建了巨人網(wǎng)絡(luò)!";
break;
default :
$mycontent="你是誰(shuí)啊?!一邊涼快去!";
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 文件點(diǎn)擊此處本站下載。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP微信開(kāi)發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP中json格式數(shù)據(jù)操作技巧匯總》及《PHP針對(duì)XML文件操作技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP實(shí)現(xiàn)微信商戶(hù)支付企業(yè)付款到零錢(qián)功能
- Thinkphp 5.0實(shí)現(xiàn)微信企業(yè)付款到零錢(qián)
- php實(shí)現(xiàn)微信支付之企業(yè)付款
- PHP編程實(shí)現(xiàn)微信企業(yè)向用戶(hù)付款的方法示例
- php實(shí)現(xiàn)微信企業(yè)轉(zhuǎn)賬功能
- 微信企業(yè)轉(zhuǎn)賬之入口類(lèi)分裝php代碼
- php實(shí)現(xiàn)微信公眾號(hào)企業(yè)轉(zhuǎn)賬功能
- PHP微信企業(yè)號(hào)開(kāi)發(fā)之回調(diào)模式開(kāi)啟與用法示例
- PHP實(shí)現(xiàn)微信公眾號(hào)企業(yè)號(hào)自定義菜單接口示例
- php微信公眾號(hào)開(kāi)發(fā)之微信企業(yè)付款給個(gè)人
相關(guān)文章
php 函數(shù)中靜態(tài)變量使用的問(wèn)題實(shí)例分析
這篇文章主要介紹了php 函數(shù)中靜態(tài)變量使用的問(wèn)題,結(jié)合實(shí)例形式分析了php 函數(shù)中靜態(tài)變量使用過(guò)程中遇到的問(wèn)題,以及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-03-03
php使用memcoder將視頻轉(zhuǎn)成mp4格式的方法
這篇文章主要介紹了php使用memcoder將視頻轉(zhuǎn)成mp4格式的方法,涉及php操作視頻文件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
PHP Ajax實(shí)現(xiàn)無(wú)刷新附件上傳
這篇文章為大家詳細(xì)主要介紹了PHP Ajax實(shí)現(xiàn)無(wú)刷新附件上傳功能的具體代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
php字符串過(guò)濾strip_tags()函數(shù)用法實(shí)例分析
這篇文章主要介紹了php字符串過(guò)濾strip_tags()函數(shù)用法,結(jié)合實(shí)例形式分析了php字符串過(guò)濾函數(shù)strip_tags()功能、參數(shù)及相關(guān)使用技巧,需要的朋友可以參考下2019-06-06
關(guān)于使用coreseek并為其做分頁(yè)的介紹
本篇文章是對(duì)使用coreseek并為其做分頁(yè)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP常見(jiàn)的幾種攻擊方式實(shí)例小結(jié)
這篇文章主要介紹了PHP常見(jiàn)的幾種攻擊方式,結(jié)合實(shí)例形式總結(jié)分析了php SQL注入、XSS攻擊、文件包含漏洞等php常見(jiàn)攻擊方式,需要的朋友可以參考下2019-04-04
php去掉字符串的最后一個(gè)字符附substr()的用法
今天項(xiàng)目中用到,去掉字符串中的最后一個(gè)字符,所以使用了substr,特整理了下,方便需要的朋友學(xué)習(xí)下。2011-03-03
PHP 利用Mail_MimeDecode類(lèi)提取郵件信息示例
重點(diǎn)為one_mail函數(shù)。利用Mail_mimeDecode類(lèi)從郵件中提取郵件頭和郵件正文,具體實(shí)現(xiàn)如下2014-01-01

