Java微信接入開(kāi)發(fā)
文章出處:http://hlpi.cn 作者:興邦開(kāi)發(fā)部
接入微信公眾平臺(tái)開(kāi)發(fā),,開(kāi)發(fā)者需要按照如下步驟完成:
1、填寫(xiě)服務(wù)器配置
2、驗(yàn)證服務(wù)器地址的有效性
3,、依據(jù)接口文檔實(shí)現(xiàn)業(yè)務(wù)邏輯
第一步:填寫(xiě)服務(wù)器配置
登錄微信公眾平臺(tái)官網(wǎng)后,,在公眾平臺(tái)后臺(tái)管理頁(yè)面 - 開(kāi)發(fā)者中心頁(yè),點(diǎn)擊“修改配置”按鈕,,填寫(xiě)服務(wù)器地址(URL),、Token和EncodingAESKey,其中URL是開(kāi)發(fā)者用來(lái)接收微信消息和事件 的接口URL,。Token可由開(kāi)發(fā)者可以任意填寫(xiě),用作生成簽名(該Token會(huì)和接口URL中包含的Token進(jìn)行比對(duì),,從而驗(yàn)證安全性),。 EncodingAESKey由開(kāi)發(fā)者手動(dòng)填寫(xiě)或隨機(jī)生成,將用作消息體加解密密鑰,。
同時(shí),,開(kāi)發(fā)者可選擇消息加解密方式:明文模式、兼容模式和安全模式,。模式的選擇與服務(wù)器配置在提交后都會(huì)立即生效,,請(qǐng)開(kāi)發(fā)者謹(jǐn)慎填寫(xiě)及選擇。加解密方式的默認(rèn)狀態(tài)為明文模式,,選擇兼容模式和安全模式需要提前配置好相關(guān)加解密代碼,,詳情請(qǐng)參考消息體簽名及加解密部分的文檔。
第二步:驗(yàn)證服務(wù)器地址的有效性
開(kāi)發(fā)者提交信息后,,微信服務(wù)器將發(fā)送GET請(qǐng)求到填寫(xiě)的服務(wù)器地址URL上,,GET請(qǐng)求攜帶四個(gè)參數(shù):
參數(shù) 描述
signature 微信加密簽名,signature結(jié)合了開(kāi)發(fā)者填寫(xiě)的token參數(shù)和請(qǐng)求中的timestamp參數(shù),、nonce參數(shù),。
timestamp 時(shí)間戳
nonce 隨機(jī)數(shù)
echostr 隨機(jī)字符串
開(kāi)發(fā)者通過(guò)檢驗(yàn)signature對(duì)請(qǐng)求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請(qǐng)求來(lái)自微信服務(wù)器,,請(qǐng)?jiān)瓨臃祷?/font>echostr參數(shù)內(nèi)容,,則接入生效,成為開(kāi)發(fā)者成功,,否則接入失敗,。
第三步:依據(jù)接口文檔實(shí)現(xiàn)業(yè)務(wù)邏輯
驗(yàn)證URL有效性成功后即接入生效,成為開(kāi)發(fā)者,。如果公眾號(hào)類(lèi)型為服務(wù)號(hào)(訂閱號(hào)只能使用普通消息接口),,可以在公眾平臺(tái)網(wǎng)站中申請(qǐng)認(rèn)證,認(rèn)證成功的服務(wù)號(hào)將獲得眾多接口權(quán)限,,以滿(mǎn)足開(kāi)發(fā)者需求,。
此后用戶(hù)每次向公眾號(hào)發(fā)送消息、或者產(chǎn)生自定義菜單點(diǎn)擊事件時(shí),開(kāi)發(fā)者填寫(xiě)的服務(wù)器配置URL將得到微信服務(wù)器推送過(guò)來(lái)的消息和事件,,然后開(kāi)發(fā)者可以依據(jù)自身業(yè)務(wù)邏輯進(jìn)行響應(yīng),,例如回復(fù)消息等。
公眾號(hào)調(diào)用各接口時(shí),,一般會(huì)獲得正確的結(jié)果,,具體結(jié)果可見(jiàn)對(duì)應(yīng)接口的說(shuō)明。返回錯(cuò)誤時(shí),,可根據(jù)返回碼來(lái)查詢(xún)錯(cuò)誤原因,。
用戶(hù)向公眾號(hào)發(fā)送消息時(shí),公眾號(hào)方收到的消息發(fā)送者是一個(gè)OpenID,,是使用用戶(hù)微信號(hào)加密后的結(jié)果,,每個(gè)用戶(hù)對(duì)每個(gè)公眾號(hào)有一個(gè)唯一的OpenID。
另請(qǐng)注意,,微信公眾號(hào)接口只支持80接口,。