日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java企业号回调模式,微信公众平台企业号开发—开启回调模式

發布時間:2024/10/14 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java企业号回调模式,微信公众平台企业号开发—开启回调模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2014年9月17日,微信發布了期待已久的企業號。網上關于企業號的教程幾乎還是0,所以這里分享一下的我的開發經驗。

對比于訂閱號和服務號的開發,企業號的開發顯得更加復雜一點。這大概也是騰訊考慮到企業信息安全性要求比較高的緣故,在消息的收發和一些驗證上都增加了加密解密的操作。這就需要開發者認真去閱讀官方說明(其實通過官方說明你可以解決幾乎所有問題),接下來我開啟回調模式的步驟:

1、申請企業號:這個步驟這里就不詳細贅述了,可以參考?外鏈網址已屏蔽;

2、設置通訊錄:這是開啟回調模式必須的

3、在應用中心增加應用:增加完之后點開應用你就可以看到開啟回調模式的入口了,然后就是按它的提示輸入相關參數。這里也不贅述了。

4、準備遠程服務器:這一步其實應該是最早做的,你可以自己申請域名空間,也可以用新浪百度的云空間。

5、進入后臺程序開發階段:核心QYCoreServlet 代碼如下,該類中引用的一些工具類都是騰訊官方提供的

官方工具類下載鏈接:外鏈網址已屏蔽,找到對應java的即可

特別注意的是:jdk版本必須是1.6及以上;需要替換JCE無限制權限策略文件,JDK7的下載地址:

外鏈網址已屏蔽,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。如果安裝了JRE,將兩個jar文件放到%JRE_HOME%\lib\security目錄下覆蓋原來的文件,如果安裝了JDK,將兩個jar文件放到%JDK_HOME%\jre\lib\security目錄下覆蓋原來文件。這里我耽擱了比較久。

package com.hotbuysell.servlet;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import .URLDecoder;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.qq.weixin.mp.aes.AesException;

import com.qq.weixin.mp.aes.WXBizMsgCrypt;

public class QYCoreServlet extends HttpServlet {

/*

------------驗證回調URL---------------

*企業開啟回調模式時,企業號會向驗證url發送一個get請求

接收到該請求時,企業應

1.解析出Get請求的參數,包括消息體簽名(msg_signature),時間戳(timestamp),隨機數字串(nonce)以及公眾平臺推送過來的隨機加密字符串(echostr),這一步注意作URL解碼。

2.驗證消息體簽名的正確性

3. 解密出echostr原文,將原文當作Get請求的response,返回給公眾平臺

第2,3步可以用公眾平臺提供的庫函數VerifyURL來實現。

*/

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//設置編碼

response.setContentType("text/html;charset=utf-8");

//response.setCharacterEncoding("utf-8");

request.setCharacterEncoding("utf-8");

//企業號的基本信息,配置時填寫

String sToken = "your token";

String sCorpID = "your CorpID";

String sEncodingAESKey = "your EncodingAESKey?";

try {

WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID);

// 解析出url上的參數值如下:

//URLDecoder.decode(request.getParameter("echostr"),"utf-8");

String sVerifyMsgSig = URLDecoder.decode(request.getParameter("msg_signature"),"utf-8");

String sVerifyTimeStamp = URLDecoder.decode(request.getParameter("timestamp"),"utf-8");

String sVerifyNonce = URLDecoder.decode(request.getParameter("nonce"),"utf-8");

String sVerifyEchoStr = URLDecoder.decode(request.getParameter("echostr"),"utf-8");

PrintWriter out = response.getWriter();

String sEchoStr; //需要返回的明文

try {

sEchoStr = wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,sVerifyNonce, sVerifyEchoStr);

System.out.println("verifyurl echostr: " + sEchoStr);

// 驗證URL成功,將sEchoStr返回

out.print(sEchoStr);

out.close();

out = null;

} catch (Exception e) {

//驗證URL失敗,錯誤原因請查看異常

e.printStackTrace();

}

} catch (AesException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO 接收用戶信息后的操作

}

}

6、將程序發布到遠程服務器。

到這里基本就成功了,希望對大家有幫助。

總結

以上是生活随笔為你收集整理的java企业号回调模式,微信公众平台企业号开发—开启回调模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。