微信高级群发之三根据OpenID列表群发

本文介绍了一种基于微信开放平台的群发消息功能实现方法,支持多种消息类型如图文、文本、语音等,并详细解释了如何构造请求及处理响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    /**

* sendMsgByOpenId:(根据openId列表群发消息).  消息类型有5种:

*  1图文(mpnews);2文本(text);3语音(voice);4图片(image);5视频(mpvideo)。此处messagetype不能传错了,只有五种。

*  messageContent类型:

*  1,文本类型(key-value :"key"-"value");

*  2,图文,语音,图片类型(key-value :"media_id"-content);

*  3,视频类型,必须传三个参数(media_id,title,description)

@author HanKeQi  

@param  @return          设定文件

@throws String   DOM对象  

@since  JDK 1.7

*/

public static String sendMsgByOpenId(List<String> list,String messagetype,Map<String,Object> messageContent){

//发送内容

if (Baseutils.isEmpty(messagetype)) {

return null;

}

//微信群openId

String jsonCenter="";

//内容

String jsonCenter2="";

for(String str : list){

jsonCenter+="\""+str+"\",";

}

if(jsonCenter.endsWith(",")){

jsonCenter=jsonCenter.substring(0,jsonCenter.length()-",".length());

}

Set<Entry<String, Object>> entries = messageContent.entrySet();

for (Entry<String, Object> entry : entries) {      

jsonCenter2+="\""+entry.getKey()+"\":\""+entry.getValue()+"\","

}

if(jsonCenter2.endsWith(",")){

jsonCenter2=jsonCenter2.substring(0,jsonCenter2.length()-",".length());

}

String url="https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token="+getAccessToken();

String jsonStr="{\"touser\":["+jsonCenter+"],\""+messagetype+"\":{"+jsonCenter2+"},\"msgtype\":\""+messagetype+"\"}";

log.info("/****************jsonStr="+jsonStr+"***************************/");

JSONObject jsonObject = httpRequest(url, "POST", jsonStr);

if (0==jsonObject.getInt("errcode")) {

return jsonObject.toString();

}

log.error("分组群发消息失败 errcode:{" + jsonObject.getInt("errcode")+"} errmsg:{"+jsonObject.getString("errmsg")+"} ");

return null;

}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值