溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何接入微信小程序消息服務(wù)

發(fā)布時(shí)間:2022-03-10 10:38:04 來(lái)源:億速云 閱讀:328 作者:iii 欄目:開發(fā)技術(shù)

這篇“如何接入微信小程序消息服務(wù)”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“如何接入微信小程序消息服務(wù)”文章吧。

接入概述


接入微信小程序消息服務(wù),開發(fā)者需要按照如下步驟完成:

1、填寫服務(wù)器配置

2、驗(yàn)證服務(wù)器地址的有效性

3、依據(jù)接口文檔實(shí)現(xiàn)業(yè)務(wù)邏輯

下面詳細(xì)介紹這3個(gè)步驟。

第一步:填寫服務(wù)器配置

登錄微信小程序官網(wǎng)后,在小程序官網(wǎng)的“設(shè)置-消息服務(wù)器”頁(yè)面,管理員掃碼啟用消息服務(wù),填寫服務(wù)器地址(URL)、Token 和 EncodingAESKey。

URL是開發(fā)者用來(lái)接收微信消息和事件的接口URL。Token可由開發(fā)者可以任意填寫,用作生成簽名(該Token會(huì)和接口URL中包含的Token進(jìn)行比對(duì),從而驗(yàn)證安全性)。EncodingAESKey由開發(fā)者手動(dòng)填寫或隨機(jī)生成,將用作消息體加解密密鑰。

同時(shí),開發(fā)者可選擇消息加解密方式:明文模式、兼容模式和安全模式??梢赃x擇消息數(shù)據(jù)格式:XML格式或JSON格式。加密方式的默認(rèn)狀態(tài)是明文格式,而數(shù)據(jù)格式的默認(rèn)狀態(tài)是XML格式。

模式的選擇與服務(wù)器配置在提交后都會(huì)立即生效,請(qǐng)開發(fā)者謹(jǐn)慎填寫及選擇。切換加密方式和數(shù)據(jù)格式需要提前配置好相關(guān)代碼,

第二步:驗(yàn)證消息的確來(lái)自微信服務(wù)器

開發(fā)者提交信息后,微信服務(wù)器將發(fā)送GET請(qǐng)求到填寫的服務(wù)器地址URL上,GET請(qǐng)求攜帶參數(shù)如下表所示:

參數(shù) 描述
signature 微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請(qǐng)求中的timestamp參數(shù)、nonce參數(shù)。
timestamp 時(shí)間戳
nonce 隨機(jī)數(shù)
echostr 隨機(jī)字符串

開發(fā)者通過檢驗(yàn)signature對(duì)請(qǐng)求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請(qǐng)求來(lái)自微信服務(wù)器,請(qǐng)?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失敗。加密/校驗(yàn)流程如下:1、將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序;2、將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密;3、開發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信

檢驗(yàn)signature的PHP示例代碼:

private function checkSignature(){
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];

    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;
    }else{return false;
    }
}

第三步:依據(jù)接口文檔實(shí)現(xiàn)業(yè)務(wù)邏輯

驗(yàn)證URL有效性成功后即接入生效,成為開發(fā)者。至此用戶向小程序客服發(fā)送消息、或者進(jìn)入會(huì)話等情況時(shí),開發(fā)者填寫的服務(wù)器配置URL將得到微信服務(wù)器推送過來(lái)的消息和事件,開發(fā)者可以依據(jù)自身業(yè)務(wù)邏輯進(jìn)行響應(yīng)。

另請(qǐng)注意,開發(fā)者所填寫的URL必須以 http:// 或 https:// 開頭,分別支持80端口和443端口。

以上就是關(guān)于“如何接入微信小程序消息服務(wù)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI