VBA開發(fā)企業(yè)微信及微信企業(yè)號(hào)手冊(cè)介紹
1 企業(yè)微信與微信企業(yè)號(hào)
1.1 什么是企業(yè)微信-企業(yè)微信介紹
1.2 企業(yè)號(hào)升級(jí)到企業(yè)微信的通知
1.3 企業(yè)微信的發(fā)布-微信企業(yè)號(hào)將作為微信插件
1.4 企業(yè)微信與微信企業(yè)號(hào)的區(qū)別和聯(lián)系
1.5 微信企業(yè)號(hào)與服務(wù)號(hào) 訂閱號(hào)的區(qū)別
2 企業(yè)微信使用
2.1 申請(qǐng)企業(yè)微信
2.2 使用微信插件(原企業(yè)號(hào))
2.2.1 在企業(yè)微信中使用微信企業(yè)號(hào)
2.2.2 修改微信企業(yè)號(hào)的LOGO
2.2.3 在微信插件底部可快捷打開企業(yè)微信客戶端
2.3 修改應(yīng)用的LOGO
2.4 企業(yè)微信獲取對(duì)方是否已經(jīng)閱讀了信息的狀態(tài)
2.5 登錄企業(yè)微信APP
2.6 企業(yè)微信退出指定的企業(yè)
2.7 企業(yè)微信退出后重新加入企業(yè)
2.8 企業(yè)微信后臺(tái)添加成員及邀請(qǐng)成員加入
2.9 企業(yè)成員幾種加入企業(yè)微信的方法對(duì)比
2.10 免費(fèi)的企業(yè)郵箱并在企業(yè)微信中提示收到郵件
2.11 企業(yè)微信管理員后臺(tái)管理
2.11.1 企業(yè)微信成員賬號(hào)能夠修改嗎?
2.11.2 通訊錄如何添加自定義的字段-擴(kuò)展屬性-企業(yè)微信
2.12 企業(yè)微信內(nèi)部局域網(wǎng)如何訪問(wèn)企業(yè)微信-網(wǎng)管設(shè)置?
3 企業(yè)微信開發(fā)(Access Excel VBA)
3.1 企業(yè)微信開發(fā)入門
3.1.1 代碼添加用戶與先掃描企業(yè)微信二維碼的區(qū)別
3.2 企業(yè)微信開發(fā)-回調(diào)
3.2.1 為什么要使用HTTPS以及國(guó)內(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è)號(hào)開發(fā)經(jīng)驗(yàn)總結(jié)
3.2.5 企業(yè)微信及微信企業(yè)號(hào)回調(diào)設(shè)置
3.2.6 回調(diào)URL校驗(yàn)失敗或-40001錯(cuò)誤或echostr校驗(yàn)失敗,請(qǐng)您檢查是否正確解密并輸出明文echostr 終極解決方法
3.3 企業(yè)微信獨(dú)家經(jīng)驗(yàn)
3.3.1 使用中控服務(wù)器獲取AccessToken突然提示無(wú)權(quán)限
3.3.2 如何避免Access Token失效,保證access_token長(zhǎng)期有效?
3.4 相關(guān)說(shuō)明
3.4.1 企業(yè)微信主動(dòng)調(diào)用頻率限制
3.4.2 企業(yè)微信開發(fā)全局錯(cuò)誤碼
3.4.3 微信加解密庫(kù)下載與錯(cuò)誤返回碼
3.4.4 企業(yè)號(hào)的CorpSecret在企業(yè)微信中如何查到
4 企業(yè)微信開發(fā)VIP經(jīng)驗(yàn)心得
4.1 選擇企業(yè)微信與微信插件原企業(yè)號(hào)的心得
4.2 企業(yè)微信如何通過(guò)手機(jī)號(hào)來(lái)獲取 對(duì)應(yīng)的成員ID及成員的詳細(xì)信息呢?

企業(yè)微信及微信企業(yè)號(hào)回調(diào)設(shè)置

2017-08-14 12:05:53
zstmtony
8887
最后編輯:zstmtony 于 2017-08-14 14:03:29

在前面開通了https SSL證書之后,在開通企業(yè)微信回調(diào)之前,還需要設(shè)置 網(wǎng)頁(yè)授權(quán),及企業(yè)微信授權(quán)

然后在接收信息里啟用API接收

 


注意這里非常關(guān)鍵,如果設(shè)置不好,保存時(shí)經(jīng)常會(huì)提示回調(diào)URL校驗(yàn)失敗,根據(jù)出錯(cuò)提示,有些錯(cuò)誤在加密解密的錯(cuò)誤代表表中去找,有些錯(cuò)誤在企業(yè)微信的全局錯(cuò)誤碼里去找

還有時(shí)會(huì)提示 微信回調(diào)URL及密鑰時(shí)老是出現(xiàn) echostr校驗(yàn)失敗,請(qǐng)您檢查是否正確解密并輸出明文echostr 的問(wèn)題 這些錯(cuò)誤

主要有以下原因

1.你用的是SAE(如新浪的)的服務(wù)器嗎?是否實(shí)名審核通過(guò)。
2.下載的微信接口代碼有問(wèn)題(我從官網(wǎng)下載的代碼就一直驗(yàn)證失敗,換了一個(gè)就好了)。
3.在輸出 $echoStr之前加上header('content-type:text');



調(diào)通了微信企業(yè)號(hào)回調(diào)模式。

把步驟發(fā)出給其他正在研究的人參考:

1、根據(jù)微信企業(yè)平臺(tái)提供的模版文件 http://qydev.weixin.qq.com/sample.zip解壓到網(wǎng)站根目錄,
2、然后修改了sample.php,(除了在企業(yè)號(hào)后臺(tái)選擇啟動(dòng)回調(diào),把token等信息生成修改到以下外,還有不少地方需要修改,請(qǐng)參考以下代碼)
3、代碼如下:
<?php
include_once "WXBizMsgCrypt.php";
// 假設(shè)企業(yè)號(hào)在公眾平臺(tái)上設(shè)置的參數(shù)如下
$encodingAesKey = "FYTD8ACaJwNUVq9MrI2o5coIO37JDVjVdJqkQLjRWQa";
$token = "NbXTLiJ3AGEtYrGSxY7n";
$corpId = "wxe8d2e137796d1f37";
/*
------------使用示例一:驗(yàn)證回調(diào)URL---------------
*企業(yè)開啟回調(diào)模式時(shí),企業(yè)號(hào)會(huì)向驗(yàn)證url發(fā)送一個(gè)get請(qǐng)求
假設(shè)點(diǎn)擊驗(yàn)證時(shí),企業(yè)收到類似請(qǐng)求:
* GET /cgi-bin/wxpush?msg_signature=5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3&timestamp=1409659589&nonce=263014780&echostr=P9nAzCzyDtyTWESHep1vC5X9xho%2FqYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp%2B4RPcs8TgAE7OaBO%2BFZXvnaqQ%3D%3D
* HTTP/1.1 Host: qy.weixin.qq.com
接收到該請(qǐng)求時(shí),企業(yè)應(yīng)
1.解析出Get請(qǐng)求的參數(shù),包括消息體簽名(msg_signature),時(shí)間戳(timestamp),隨機(jī)數(shù)字串(nonce)以及公眾平臺(tái)推送過(guò)來(lái)的隨機(jī)加密字符串(echostr),
這一步注意作URL解碼。
2.驗(yàn)證消息體簽名的正確性
3. 解密出echostr原文,將原文當(dāng)作Get請(qǐng)求的response,返回給公眾平臺(tái)
第2,3步可以用公眾平臺(tái)提供的庫(kù)函數(shù)VerifyURL來(lái)實(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) {
//
// 驗(yàn)證URL成功,將sEchoStr返回
HttpUtils.SetResponce($sEchoStr);
} else {
print("ERR: " . $errCode . "\n\n");
}
?> 




    移動(dòng)訪問(wèn)