【微信公众号开发】根据openId群发消息

根据开发文档可知,只要使用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 2017/7/12.
 8  */
 9 public class MassMessage {
10     private List<String> touser;
11     private String msgtype;
12     private Map<String,Object> text ;
13
14     public List<String> getTouser() {
15         return touser;
16     }
17
18     public void setTouser(List<String> touser) {
19         this.touser = touser;
20     }
21
22     public String getMsgtype() {
23         return msgtype;
24     }
25
26     public void setMsgtype(String msgtype) {
27         this.msgtype = msgtype;
28     }
29
30     public Map<String, Object> getText() {
31         return text;
32     }
33
34     public 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 2017/7/12.
17  */
18 public class Test {
19     public static final String URL = "https://api.weixin.qq.com/cgi-bin/message/mass/send?access_token=ACCESS_TOKEN";
20
21     public static void main(String[] args) {
22         //获取token
23         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=‘https://www.baidu.com‘>点我去百度了</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的话可以写两遍。

效果如图:

时间: 2024-10-06 14:09:16

【微信公众号开发】根据openId群发消息的相关文章

.NET微信公众号开发-6.0模板消息

一.前言 为了保证用户不受到骚扰,在开发者出现需要主动提醒.通知用户时,才允许开发者在公众平台网站中模板消息库中选择模板,选择后获得模板ID,再根据模板ID向用户主动推送提醒.通知消息.这个意思也就是,我们作为微信商户,不能主动的给用户推送消息,如果这个功能完全开放,那么用户有可能会受到大量的垃圾信息,为了做一个很好的控制,微信那边给我们开放了一个模板消息,通过模板消息我们可以友好的给用户发送一些相关的消息提醒. 二.开发前的准备 1.0模板消息官方文档地址 2.0查看我们的模板消息是否申请成功

微信公众号开发(2)---消息的接收发送

在微信公众号开发(1)中,我们进行了GET请求方法的开发编写,能够使微信与我们的服务器进行了关系的绑定,接下来我们进行开发接收用户消息与一些事件的回复:      开发必要了解:在我们微信与我们的服务器进行了关系的绑定后,微信会将用户所发过来的消息以及事件会以XML的格式以POST请求的方式发送给我们的服务器,所以我们需要开发POST请求的接口,接收用户的消息,我们可以根据用户的消息进行一些关键字回复,以及关注后的回复推送,微信事件里有很多功能,这里只进行开发关键字回复以及关注事件,其他的顺藤摸

微信公众号开发(152)——客服消息发送卡券

本文介绍如何使用微信公众平台客服消息发送接口来发送卡券给用户. 一.卡券格式 卡券的json格式如下 { "touser":"OPENID", "msgtype":"wxcard", "wxcard":{ "card_id":"123dsdajkasd231jhksad" } } 其中,msgtype为wxcard,而card_id为卡券 ID 二.代码实现 使用方倍

.net微信公众号开发——群发消息

作者:王先荣    本文将介绍微信公众号开发中用于群发消息的类MassMessage,包括:(1)MassMessage类:(2)群发:(3)删除:(4)预览:(5)查询发送状态:(6)接收推送群发结果事件.    源代码地址:http://git.oschina.net/xrwang2/xrwang.weixin.PublicAccount/tree/master/PublicAccount/MassMessage    演示地址:http://www.xrwang.net/Example/M

微信公众号开发系列导航

 1.0.NET微信公众号开发-1.0初始微信公众号 1.0.NET微信公众号开发-1.0初始微信公众号 2.0.NET微信公众号开发-2.0创建自定义菜单  2.0.NET微信公众号开发-2.0创建自定义菜单 3.0.NET微信公众号开发-3.0查询自定义菜单  3.0.NET微信公众号开发-3.0查询自定义菜单 4.0.NET微信公众号开发-4.0公众号消息处理  4.0.NET微信公众号开发-4.0公众号消息处理 5.0.NET微信公众号开发-5.0微信支付  5.0.NET微信公众号开发

微信公众号开发及时获取当前用户Openid及注意事项

目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及时获取当前用户Openid及注意事项 前言 这篇主要是承接上篇的网页授权获取用户基本信息的后文,也是对第一种静默授权之后,用户点击公众号内链接时,如何再次取得当前用户的OpenId的大致讲解和一些注意事项. 看过上一篇的小伙伴都知道,我们在用户关注的时候就已经将该用户的基本信息存入数据库中,那么如果

微信公众号开发系列-发送客服消息

下面是做微信公众号开发用到最多的两个客服消息发送类型,文本信息和图文信息. 1.发送文本消息 { "touser":"OPENID", "msgtype":"text", "text": { "content":"Hello World" } } 參数 是否必须 说明 access_token 是 调用接口凭证 touser 是 普通用户openid msgtype

微信公众号开发之自动消息回复和自定义菜单

(一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 上一篇我们大致讲解了下微信公众号开发的基本原理和流程概述.本章主要是对文本消息回复和自定义菜单做一个记录和分解 消息回复 处理请求,并响应 1)关注 也可参考官网文档:https://mp.weixin.qq.com/wiki 当微信用户关注公众账号时,可以给其适当的提示.可以是欢迎词,可以是帮助提示.示例代码如下: class EventHandler : IHandler

PHP 微信公众号开发 - 消息推送

项目微信公众号开发,需要做用户消息推送,记录下来以便日后使用 1,接上一篇文章,可以查看如何获取用户openid PHP 微信公众号开发 - 获取用户信息 2,添加模板消息 3,查看模板详情 根据模板详情设置对应推送消息 4,代码实现 1 <?php 2 // 字符编码 3 header("Content-Type:text/html; charset=utf-8"); 4 5 // 微信接口类 6 class WeChat{ 7 private static $appid; 8

C#微信公众号开发系列教程三(消息体签名及加解密)

  C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南)    距离上一篇博文已经半个月了,本来打算每两天更新一次的,但可怜苦逼码农无日无夜的加班.第一篇博文发表后,博文视点的编辑就找到我,问我想不想出版这个系列,我当时瞬间就想到了王大锤的独白,想想真的是有点小激动,后面按照那边的要求,提交了申请书,也提交了目录,可惜文笔不行,再加上最近太忙,样稿一直没有给他,感觉挺愧疚了.真心希望能帮一下迷茫的