相关内容开发参考微信公众平台——》开发者中心——》接口文档。
一般为调用公众平台接口api,返回json对象
一、开启回调模式
1.下载微信java加密解密库,并放在工程路径中,本工程为weixin.common.util目录,加载jar;
2.配置企业号常量类,本工程为WeiXinParam,其中TOKEN、EncodingAESKey对应回调模式设置值,CORP_ID为企业号对应的id;
3.调用微信java 加密库里的wXBizMsgCrypt.VerifyURL方法验证回调模式url有效性;
至此添加的jar包:
commons-codec-1.9.jar
log4j-1.2.17.jar
二、推送消息
详见PushMessage的pushMessage方法。
package weixin.busi.service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
import weixin.access.token.AccessToken;
import weixin.access.token.MisApp;
import weixin.addressbook.util.AddressBookUtil;
import weixin.addressbook.util.QyUser;
import weixin.addressbook.util.WeixinDepartment;
import weixin.common.util.AesException;
import weixin.common.util.SingletonObject;
import weixin.common.util.WXBizMsgCrypt;
import weixin.common.util.WeiXinParam;
import weixin.message.Util.MessageUtil;
import weixin.response.message.SendTextMessage;
import weixin.response.message.TextContent;
public class PushMessage {
private Logger log=Logger.getLogger(PushMessage.class);
public void pushMessage() throws AesException{
String respContent="未知消息,请忽略!";
//获取accessToken
MisApp misApp=new MisApp();
AccessToken accessToken=MessageUtil.getAccessToken(misApp);
//获取已关注成员列表
List<QyUser> qyUserList=AddressBookUtil.findAllQyUser(accessToken.getAccess_token());
log.info("============成功获取已关注成员列表"+qyUserList.size()+"============");
if(qyUserList!=null){
for(QyUser qyUser:qyUserList){
log.info("============已关注成员列表循环查询"+"============");
String comnum="";
if(qyUser.getExtattr()!=null&&qyUser.getExtattr().getAttrs()!=null){
comnum=qyUser.getExtattr().getAttrs()[0].getValue();
}
String userName=qyUser.getName();
//拼接消息
StringBuffer stringBuffer=new StringBuffer();
stringBuffer.append(userName+",您好!\n系统中您工号XXXX"+"有如下待办事项:\n");
stringBuffer.append("任务名称"+"*"+"任务数量\n");
//发送待办事项消息提醒
if(!stringBuffer.toString().equals("")){
respContent=stringBuffer.toString();
}
TextContent textContent=new TextContent();
textContent.setContent(respContent);
//以文本消息回复
SendTextMessage sendMessage=new SendTextMessage();
sendMessage.setTouser(qyUser.getUserid());
sendMessage.setToparty("@all");
sendMessage.setTotag("@all");
sendMessage.setText(textContent);
sendMessage.setMsgtype(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
sendMessage.setAgentid(WeiXinParam.AGENT_ID);
sendMessage.setSafe("0");
String respXml=JSONObject.fromObject(sendMessage).toString();
log.info("============推送消息封装的内容:"+respXml+"============");
SendMessage send=new SendMessage();
send.send(accessToken.getAccess_token(), respXml);
}
}
}
}
添加jar包:
json-lib-2.4-jdk13.jar
添加MyX509TrustManager.java类,继承X509TrustManager