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