
com.jeecg.qywx.api.message.JwMessageAPI Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of weixin4j Show documentation
Show all versions of weixin4j Show documentation
微信和钉钉开发SDK,主要提供微信、企业微信、钉钉的JAVA封装,降低集成难度,让API变简单
The newest version!
package com.jeecg.qywx.api.message;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.jeecg.qywx.api.base.JwAccessTokenAPI;
import com.jeecg.qywx.api.base.JwParamesAPI;
import com.jeecg.qywx.api.core.common.AccessToken;
import com.jeecg.qywx.api.core.util.HttpUtil;
import com.jeecg.qywx.api.message.vo.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class JwMessageAPI {
private static final Logger logger = LoggerFactory.getLogger(JwMessageAPI.class);
//发送消息(post)
static String message_send_url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN";
/*
* 发送文本信息
*/
public static JSONObject sendTextMessage(Text text, String accessToken) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},text:{}", new Object[]{accessToken,text});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken);
// 将信息对象转换成json字符串
String jsonText = JSONObject.toJSONString(text);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonText});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url,jsonText);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return jsonObject;
}
/*发送图片信息
*
*/
public static int sendImageMessage(Image image, String accessToken,String agentid) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},agentid:{},image:{}", new Object[]{accessToken,agentid,image});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken).replace("AGENTID", agentid);
// 将信息对象转换成json字符串
String jsonImage = JSONObject.toJSONString(image);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonImage});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonImage);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
/*发送音频信息
*
*/
public static int sendVoiceMessage(Voice voice, String accessToken,String agentid) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},agentid:{},voice:{}", new Object[]{accessToken,agentid,voice});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken).replace("AGENTID", agentid);
// 将信息对象转换成json字符串
String jsonVoice = JSONObject.toJSONString(voice);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonVoice});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonVoice);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
/*
* 发送视频消息
*/
public static int sendVideoMessage(Video video, String accessToken,String agentid) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},agentid:{},video:{}", new Object[]{accessToken,agentid,video});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken).replace("AGENTID", agentid);
// 将信息对象转换成json字符串
String jsonVideo = JSONObject.toJSONString(video);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonVideo});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonVideo);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
/*
* 发送媒体文件
*
*/
public static int sendFileMessage(File file, String accessToken,String agentid) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},agentid:{},file:{}", new Object[]{accessToken,agentid,file});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken).replace("AGENTID", agentid);
// 将信息对象转换成json字符串
String jsonFile = JSONObject.toJSONString(file);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonFile});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonFile);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
/*
* 发送媒体文件消息
*
*/
public static JSONObject sendNewsMessage(News news, String accessToken) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},news:{}", new Object[]{accessToken,news});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken);
// 将信息对象转换成json字符串
String jsonNews = JSONObject.toJSONString(news);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonNews});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonNews);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return jsonObject;
}
/*
* 发送时直接带上素材
*
*/
public static int sendMpnewsMessage(Mpnews mpnews, String accessToken,String agentid) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},agentid:{},mpnews:{}", new Object[]{accessToken,agentid,mpnews});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken).replace("AGENTID", agentid);
// 将信息对象转换成json字符串
String jsonMpnews = JSONObject.toJSONString(mpnews);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonMpnews});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonMpnews);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
/*
* 发送时使用永久性图文素材
*
*/
public static int sendFixMpnewsMessage(FixMpnews fixmpnews, String accessToken,String agentid) {
logger.info("[CREATEMENU]", "createText param:accessToken:{},agentid:{},fixmpnews:{}", new Object[]{accessToken,agentid,fixmpnews});
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken).replace("AGENTID", agentid);
// 将信息对象转换成json字符串
String jsonFixMpnews = JSONObject.toJSONString(fixmpnews);
logger.info("[CREATEMENU]", "sendMessage param:jsonText:{}", new Object[]{jsonFixMpnews});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonFixMpnews);
logger.info("[CREATEMENU]", "sendMessage response:{}", new Object[]{jsonObject.toJSONString()});
if (null != jsonObject) {
int errcode = jsonObject.getIntValue("errcode");
result = errcode;
}
return result;
}
/**
* 发送文本卡片消息
*/
public static JSONObject sendTextCardMessage(TextCard textCard, String accessToken) {
logger.info("[JwMessage] sendTextCardMessage params:accessToken:{},textCard:{}", new Object[]{accessToken, textCard});
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken);
// 将信息对象转换成json字符串
String params = JSONObject.toJSONString(textCard);
logger.info("[JwMessage] sendTextCardMessage params:jsonText:{}", new Object[]{params});
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, params);
logger.info("[JwMessage] sendTextCardMessage response:{}", new Object[]{jsonObject.toJSONString()});
return jsonObject;
}
/**
* 发送Markdown消息
*
* @param markdown 发送的Markdown消息
* @param accessToken 获取的access_token
*/
public static JSONObject sendMarkdownMessage(Markdown markdown, String accessToken) {
logger.info("[JwMessage] createText param:accessToken:{}, markdown:{}", accessToken, markdown);
int result = 0;
// 拼装发送信息的url
String url = message_send_url.replace("ACCESS_TOKEN", accessToken);
// 将信息对象转换成json字符串
String jsonText = JSON.toJSONString(markdown);
logger.info("[JwMessage] sendMessage param:jsonText:{}", jsonText);
// 调用接口发送信息
JSONObject jsonObject = HttpUtil.sendPost(url, jsonText);
logger.info("[JwMessage] sendMessage response:{}", jsonObject.toJSONString());
return jsonObject;
}
//测试
public static void main(String[] args){
AccessToken accessToken = JwAccessTokenAPI.getAccessToken(JwParamesAPI.corpId,JwParamesAPI.secret);
Text text=new Text();
text.setTouser("malimei");
// text.setToparty("678910");
// text.setTotag("112233");
text.setMsgtype("text");
text.setAgentid(1);
TextEntity text1=new TextEntity();
text1.setContent("aaaaaaa");
text.setText(text1);
text.setSafe("0");
JwMessageAPI.sendTextMessage(text, accessToken.getAccesstoken());
/*
* 图片
*/
/* Image image=new Image();
image.setTouser("malimei");
image.setMsgtype("image");
image.setAgentid(1);
ImageEntity imageEntity=new ImageEntity();
imageEntity.setMedia_id("1cjeJstIy7hU0FPsIEnXAj4QgTZZLVqI0Tjqamd8LzAUuGO6hMREqw-fUgiE2mpgD9Vw8qTWoIyhKa4-KF7PbBQ");
image.setImage(imageEntity);
String agentid="1";
JwMessageAPI.sendImageMessage(image, accessToken.getAccesstoken(), agentid);//{"errcode":0,"errmsg":"ok"}
*/
//1NSJSg-ccFTPqSG5ccqwTiIwsrGOY6-6nJ9SPyYl9pIOyEzH5kaAmHFll0_SU5R_6CVVCFLJsjC-_rpWr_jCXAg
/* Voice voice=new Voice();
voice.setTouser("malimei");
voice.setMsgtype("voice");
voice.setAgentid(1);
VoiceEntity voiceEntity=new VoiceEntity();
voiceEntity.setMedia_id("1NSJSg-ccFTPqSG5ccqwTiIwsrGOY6-6nJ9SPyYl9pIOyEzH5kaAmHFll0_SU5R_6CVVCFLJsjC-_rpWr_jCXAg");
voice.setVoice(voiceEntity);
String agentid="1";
JwMessageAPI.sendVoiceMessage(voice, accessToken.getAccesstoken(), agentid);//String agentid="1";
*/
/*
*视频
*
Video video=new Video();
video.setTouser("malimei");
video.setMsgtype("video");
video.setAgentid(1);
VideoEntity videoEntity=new VideoEntity();
videoEntity.setMedia_id("1k7eovYCr58zU4JC9CuDfvk3F1mL7EUqphvVMfNgBGw4D2_as1L5Nd9kRnK6hXv7TVIMl2u3uNlCvEQzgFW-iWw");
video.setVideo(videoEntity);
String agentid="1";
JwMessageAPI.sendVideoMessage(video, accessToken.getAccesstoken(), agentid);//{"errcode":0,"errmsg":"ok"}
**/
/*
* 文件
File file=new File();
file.setTouser("malimei");
file.setMsgtype("file");
file.setAgentid(1);
FileEntity fileEntity=new FileEntity();
fileEntity.setMedia_id("1k7eovYCr58zU4JC9CuDfvk3F1mL7EUqphvVMfNgBGw4D2_as1L5Nd9kRnK6hXv7TVIMl2u3uNlCvEQzgFW-iWw");
file.setFile(fileEntity);
String agentid="1";
JwMessageAPI.sendFileMessage(file, accessToken.getAccesstoken(), agentid);*/
/*发送图文信息
*
*/
News news=new News();
// news.setTouser("malimei|xinglei|zhoujf");
news.setToparty("1");
news.setMsgtype("news");
news.setAgentid(1);
NewsArticle newsArticles=new NewsArticle();
newsArticles.setTitle("哈喽");
String picurl="https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=eJ5FMzxYTeH12awmT33DAVUpPM2_zec8Nmct4N6rSMzE3f9L5ahksQ8dxqE0wjJE&media_id=1gbGp35rCKh_CT-Zl-d6HJeLubqyHqHiMevE56o2X6Ba2pxOp9wm-WMcOKwA5vbHezQrV_AiApj2V09KhzCV9yA";
newsArticles.setPicurl(picurl);
// NewsEntity newsEntity=new NewsEntity();
// newsEntity.setArticles(new NewsArticle[] {newsArticles});
// news.setNews(newsEntity);
NewsArticle newsArticles1=new NewsArticle();
newsArticles1.setTitle("你好");
String picurl1="https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token=eJ5FMzxYTeH12awmT33DAVUpPM2_zec8Nmct4N6rSMzE3f9L5ahksQ8dxqE0wjJE&media_id=1gbGp35rCKh_CT-Zl-d6HJeLubqyHqHiMevE56o2X6Ba2pxOp9wm-WMcOKwA5vbHezQrV_AiApj2V09KhzCV9yA";
newsArticles.setPicurl(picurl1);
NewsEntity newsEntity1=new NewsEntity();
newsEntity1.setArticles(new NewsArticle[] {newsArticles1 ,newsArticles});
news.setNews(newsEntity1);
JwMessageAPI.sendNewsMessage(news, accessToken.getAccesstoken());
/*
*mpnews消息
*/
/* Mpnews mpnewsa=new Mpnews();
mpnewsa.setTouser("malimei");
mpnewsa.setMsgtype("mpnews");
mpnewsa.setAgentid(1);
MpnewsArticles articles=new MpnewsArticles();
articles.setTitle("嘿嘿");
articles.setContent("a");
articles.setThumb_media_id("1S9IBhHEbQ8eUpntYiTQioj6ttEi0Cbpve-2SRVcUEDo8-yKzGCD7JtSLpF7Qv5jgmt1SAmj2haczUx-rFa6Z0Q");
MpnewEntity mpnews=new MpnewEntity();
mpnews.setArticles(new MpnewsArticles[] {articles});
mpnews.setMpnews(mpnews);
String agentid="1";
//String accessToken="eJ5FMzxYTeH12awmT33DAVUpPM2_zec8Nmct4N6rSMzE3f9L5ahksQ8dxqE0wjJE";
JwMessageAPI.sendMpnewsMessage(mpnewsa, accessToken.getAccesstoken(), agentid);
*/
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy