- 1 企業(yè)微信與微信企業(yè)號
- 1.1 什么是企業(yè)微信-企業(yè)微信介紹
- 1.2 企業(yè)號升級到企業(yè)微信的通知
- 1.3 企業(yè)微信的發(fā)布-微信企業(yè)號將作為微信插件
- 1.4 企業(yè)微信與微信企業(yè)號的區(qū)別和聯(lián)系
- 1.5 微信企業(yè)號與服務(wù)號 訂閱號的區(qū)別
- 2 企業(yè)微信使用
- 2.1 申請企業(yè)微信
- 2.2 使用微信插件(原企業(yè)號)
- 2.2.1 在企業(yè)微信中使用微信企業(yè)號
- 2.2.2 修改微信企業(yè)號的LOGO
- 2.2.3 在微信插件底部可快捷打開企業(yè)微信客戶端
- 2.3 修改應(yīng)用的LOGO
- 2.4 企業(yè)微信獲取對方是否已經(jīng)閱讀了信息的狀態(tài)
- 2.5 登錄企業(yè)微信APP
- 2.6 企業(yè)微信退出指定的企業(yè)
- 2.7 企業(yè)微信退出后重新加入企業(yè)
- 2.8 企業(yè)微信后臺添加成員及邀請成員加入
- 2.9 企業(yè)成員幾種加入企業(yè)微信的方法對比
- 2.10 免費(fèi)的企業(yè)郵箱并在企業(yè)微信中提示收到郵件
- 2.11 企業(yè)微信管理員后臺管理
- 2.11.1 企業(yè)微信成員賬號能夠修改嗎?
- 2.11.2 通訊錄如何添加自定義的字段-擴(kuò)展屬性-企業(yè)微信
- 2.12 企業(yè)微信內(nèi)部局域網(wǎng)如何訪問企業(yè)微信-網(wǎng)管設(shè)置?
- 3 企業(yè)微信開發(fā)(Access Excel VBA)
- 3.1 企業(yè)微信開發(fā)入門
- 3.2 企業(yè)微信開發(fā)-回調(diào)
- 3.2.1 為什么要使用HTTPS以及國內(nèi)外有哪些免費(fèi)SSL證書
- 3.2.2 IIS使用阿里免費(fèi)SSL證書
- 3.2.3 其它環(huán)境使用阿里免費(fèi)SSL證書
- 3.2.4 企業(yè)微信及微信企業(yè)號開發(fā)經(jīng)驗總結(jié)
- 3.2.5 企業(yè)微信及微信企業(yè)號回調(diào)設(shè)置
- 3.2.6 回調(diào)URL校驗失敗或-40001錯誤或echostr校驗失敗,請您檢查是否正確解密并輸出明文echostr 終極解決方法
- 3.3 企業(yè)微信獨(dú)家經(jīng)驗
- 3.4 相關(guān)說明
- 3.4.1 企業(yè)微信主動調(diào)用頻率限制
- 3.4.2 企業(yè)微信開發(fā)全局錯誤碼
- 3.4.3 微信加解密庫下載與錯誤返回碼
- 3.4.4 企業(yè)號的CorpSecret在企業(yè)微信中如何查到
- 4 企業(yè)微信開發(fā)VIP經(jīng)驗心得
企業(yè)微信及微信企業(yè)號回調(diào)設(shè)置
- 2017-08-14 12:05:53
- zstmtony
- 8886
- 最后編輯:zstmtony 于 2017-08-14 14:03:29
在前面開通了https SSL證書之后,在開通企業(yè)微信回調(diào)之前,還需要設(shè)置 網(wǎng)頁授權(quán),及企業(yè)微信授權(quán)
然后在接收信息里啟用API接收
注意這里非常關(guān)鍵,如果設(shè)置不好,保存時經(jīng)常會提示回調(diào)URL校驗失敗,根據(jù)出錯提示,有些錯誤在加密解密的錯誤代表表中去找,有些錯誤在企業(yè)微信的全局錯誤碼里去找
還有時會提示 微信回調(diào)URL及密鑰時老是出現(xiàn) echostr校驗失敗,請您檢查是否正確解密并輸出明文echostr 的問題 這些錯誤
主要有以下原因
1.你用的是SAE(如新浪的)的服務(wù)器嗎?是否實(shí)名審核通過。
2.下載的微信接口代碼有問題(我從官網(wǎng)下載的代碼就一直驗證失敗,換了一個就好了)。
3.在輸出 $echoStr之前加上header('content-type:text');
調(diào)通了微信企業(yè)號回調(diào)模式。
把步驟發(fā)出給其他正在研究的人參考:
1、根據(jù)微信企業(yè)平臺提供的模版文件 http://qydev.weixin.qq.com/sample.zip解壓到網(wǎng)站根目錄,
2、然后修改了sample.php,(除了在企業(yè)號后臺選擇啟動回調(diào),把token等信息生成修改到以下外,還有不少地方需要修改,請參考以下代碼)
3、代碼如下:
<?php
include_once "WXBizMsgCrypt.php";
// 假設(shè)企業(yè)號在公眾平臺上設(shè)置的參數(shù)如下
$encodingAesKey = "FYTD8ACaJwNUVq9MrI2o5coIO37JDVjVdJqkQLjRWQa";
$token = "NbXTLiJ3AGEtYrGSxY7n";
$corpId = "wxe8d2e137796d1f37";
/*
------------使用示例一:驗證回調(diào)URL---------------
*企業(yè)開啟回調(diào)模式時,企業(yè)號會向驗證url發(fā)送一個get請求
假設(shè)點(diǎn)擊驗證時,企業(yè)收到類似請求:
* GET /cgi-bin/wxpush?msg_signature=5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3×tamp=1409659589&nonce=263014780&echostr=P9nAzCzyDtyTWESHep1vC5X9xho%2FqYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp%2B4RPcs8TgAE7OaBO%2BFZXvnaqQ%3D%3D
* HTTP/1.1 Host: qy.weixin.qq.com
接收到該請求時,企業(yè)應(yīng)
1.解析出Get請求的參數(shù),包括消息體簽名(msg_signature),時間戳(timestamp),隨機(jī)數(shù)字串(nonce)以及公眾平臺推送過來的隨機(jī)加密字符串(echostr),
這一步注意作URL解碼。
2.驗證消息體簽名的正確性
3. 解密出echostr原文,將原文當(dāng)作Get請求的response,返回給公眾平臺
第2,3步可以用公眾平臺提供的庫函數(shù)VerifyURL來實(shí)現(xiàn)。
*/
$sVerifyMsgSig = HttpUtils.ParseUrl("msg_signature");
// $sVerifyMsgSig = "5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3";
$sVerifyTimeStamp = HttpUtils.ParseUrl("timestamp");
// $sVerifyTimeStamp = "1409659589";
$sVerifyNonce = HttpUtils.ParseUrl("nonce");
// $sVerifyNonce = "263014780";
$sVerifyEchoStr = HttpUtils.ParseUrl("echostr");
// $sVerifyEchoStr = "P9nAzCzyDtyTWESHep1vC5X9xho/qYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp+4RPcs8TgAE7OaBO+FZXvnaqQ==";
// 需要返回的明文
$EchoStr = "";
$wxcpt = new WXBizMsgCrypt($token, $encodingAesKey, $corpId);
$errCode = $wxcpt->VerifyURL($sVerifyMsgSig, $sVerifyTimeStamp, $sVerifyNonce, $sVerifyEchoStr, $sEchoStr);
if ($errCode == 0) {
//
// 驗證URL成功,將sEchoStr返回
HttpUtils.SetResponce($sEchoStr);
} else {
print("ERR: " . $errCode . "\n\n");
}
?>