根据开发文档可知,只要使用POST方式提交固定格式的json字符串到那个地址即可。这里我写的是最简单的文本
第一步:建立对应的实体类。
1 package cn.sp.bean; 2 3 import java.util.List; 4 import java.util.Map; 5 6 /**群发消息 7 * Created by 2YSP on /7/12. 8 */ 9 public class MassMessage {10private List<String> touser;11private String msgtype;12private Map<String,Object> text ;13 14public List<String> getTouser() {15 return touser;16}17 18public void setTouser(List<String> touser) {19 this.touser = touser;20}21 22public String getMsgtype() {23 return msgtype;24}25 26public void setMsgtype(String msgtype) {27 this.msgtype = msgtype;28}29 30public Map<String, Object> getText() {31 return text;32}33 34public void setText(Map<String, Object> text) {35 this.text = text;36}37 }
第二步:编写测试类:
1 package cn.sp.test; 2 3 import cn.sp.bean.AccessToken; 4 import cn.sp.bean.MassMessage; 5 import cn.sp.utils.WeiXinUtil; 6 import com.google.gson.Gson; 7 import com.google.gson.GsonBuilder; 8 import net.sf.json.JSONObject; 9 10 import java.util.ArrayList;11 import java.util.HashMap;12 import java.util.List;13 import java.util.Map;14 15 /**16 * Created by 2YSP on /7/12.17 */18 public class Test {19public static final String URL = "https://api./cgi-bin/message/mass/send?access_token=ACCESS_TOKEN";20 21public static void main(String[] args) {22 //获取token23 AccessToken token = WeiXinUtil.getAccessToken();24 String url = URL.replace("ACCESS_TOKEN", token.getToken());25 26 27 MassMessage massMessage = new MassMessage();28 List<String> list = new ArrayList<String>();29 list.add("o2fVHwF3EYXzhWa9a_UNlC5TNrEk");30 list.add("o2fVHwF3EYXzhWa9a_UNlC5TNrEk");31 massMessage.setTouser(list);32 massMessage.setMsgtype("text");33 Map<String, Object> map = new HashMap<String, Object>();34 map.put("content", "hello,<a href=''>点我去百度了</a>");35 massMessage.setText(map);36 37 Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();38 String str = gson.toJson(massMessage);39 System.out.println("str:"+str);40 41 JSONObject jso = WeiXinUtil.doPostStr(url, str);42 System.out.println(jso.toString());43}44 }
这里是使用httpClient发起的请求,gson将对象转换为json字符串。
注意:openId至少为两个,否则返回报错不能发送,如果只有一个openId的话可以写两遍。
效果如图: