[本文所描述的内容具有一定的时效性,请以实际开发所处环境为准]

今天我们介绍我们日常使用最频繁的发送消息功能,在企业号中,由于移除了诸多的限制,消息的发送量几乎没有限制。但是,在此,特别提醒大家,千万不要写个循环发消息测试,这么做很有可能让微信后台认为你的服务器收到攻击,而主动的拒绝你再调用微信功能接口。

-------------------------------------------------------------------------------------------------------------------------------------

正文开始:

1.首先我们来看看官方文档对发送接口的说明:

2.有了接口之后,我们来看看如何封装JSON数据,在此,我们就不再截官方文档的图,就以text消息为例说明最基本的文本类型消息来说明数据封装函数的写法。具体如下:

/*** text消息* @param touser UserID列表(消息接收者,多个接收者用‘|’分隔)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送————"touser": "UserID1|UserID2|UserID3"* @param toparty PartyID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数————"toparty": " PartyID1 | PartyID2 "* @param totag TagID列表,多个接受者用‘|’分隔。当touser为@all时忽略本参数————"totag": " TagID1 | TagID2 "* @param msgtype 消息类型,此时固定为:text* @param agentid 企业应用的id,整型。可在应用的设置页面查看* @param content 消息内容* @param safe 表示是否是保密消息,0表示否,1表示是,默认0* */public static String STextMsg(String touser,String toparty,String totag,String agentid,String content){String PostData = "{\"touser\": %s,\"toparty\": %s,\"totag\": %s,\"msgtype\": \"text\",\"agentid\": %s,\"text\": {\"content\": \"%s\"},\"safe\":\"0\"}";return String.format(PostData, touser,toparty,totag,agentid,content);}

3.上述的这种普通消息的发送方式大家可以参照微信企业号开发(4)--管理通讯录(部门)的实现。原理基本一致。

4.在这里我们来说另一个常用的消息形式:图文消息。

a.首先要给大家看看官方文档的截图内容。

b.在上面的JSON格式的数据示例中,我们发现存在JSON嵌套。这里,我们推荐给大家的做法是,将消息声明为JAVA对象。这样做的好处是,在使用时减少多层嵌套容易出现的格式组装错误等。大家可以参考下面的代码实现。

我们给出图文消息的示例代码,如下:

Article.java

public class Article {private String Title;  private String Description;  private String picurl; private String url;
}//省略set/get函数

News.java

public String dfNews(String title,String desc,String picurl,String url){Article article = new Article();article.setTitle(title);article.setDescription(desc);article.setPicurl(picurl);article.setUrl(url);list.add(article);//博主外部定义的一个list,读者可以自定义个list存放article对象String articlesList = JSONArray.fromObject(list).toString();return articlesList;
}

SendNewsMsg.java

public static String SNewsMsg(String touser,String toparty,String totag,String agentid , String articlesList){String postData = "{\"touser\": %s,\"toparty\": %s,\"totag\": %s,\"msgtype\": \"news\",\"agentid\": %s,\"news\": {\"articles\":%s}}";return String.format(postData, touser,toparty,totag,agentid,articlesList);}

c.上面的代码有引用json工具包,网上有这个jar包,请自行下载。经过上面几个函数的封装,我们已经把函数封装成为微信后台所需要的JSON格式。

d.最后,我们还是需要使用前文中的发送函数HttpRequest.java方法,将封装好的数据发送到微信后台,之后,我们就可以在移动端看到我们所发出的图文消息内容了。

----------------------------------------------------------------------------------------------------------------------------------------------------

至此,微信企业号开发(6)--发送消息结束

参考资料:

[1]微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index.html

[2]企业号开发者接口文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5

微信企业号开发(6)--发送消息相关推荐

  1. 微信企业号开发:主动发送消息

    主企业号主动发送消息,也就是企业号主动推送的消息,适合于企业的通知,通告等.因此如果公司有通知,要求通知到所有员工,就应该使用主动发送消息. 格式是json格式,而且微信很灵活,当touser,top ...

  2. java企业微信发送语言_java微信企业号开发之发送消息(文本、图片、语音)

    上篇文章介绍了开启回调模式,开始回调模式后我们就要实现聊天功能了.平时使用微信聊天可以发送文本消息.语音.图片.视频等,这里只实现了其中的一些功能和大家分享. 一.与微信企业号建立连接1.企业应用调用 ...

  3. 微信企业号开发之图文消息

    new消息发送格式 <xml><ToUserName><![CDATA[toUser]]></ToUserName><FromUserName&g ...

  4. 微信企业号开发:接收消息和事件

    接收到的消息和事件,其实都是微信post到我们配置的URL的消息.接收普通消息就是用户给公众号发送的消息,事件是由于用户的特定操作,微信post给我们的消息.被动响应消息是我们收到微信post过来的普 ...

  5. python企业微信回调_Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例...

    本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息.分享给大家供大家参考,具体如下: 说明:此代码用于接收手机微信端发送的消息 #-*- coding:utf-8 ...

  6. 微信企业号开发之 企业号人员身份认证与开发

    前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不 ...

  7. 新书《微信企业号开发揭秘》已出版,全书采用WeChatEnterprise框架开发

            新书<微信企业号开发揭秘>已出版,全书基于源码与API逐步讲解,采用WeChatEnterprise框架开发 纸质书购买地址:  天猫    京东    当当    亚马逊 ...

  8. 微信企业号开发(7)--自定义菜单

    [本文所描述的内容具有一定的时效性,请以实际开发所处环境为准] 今天,我们来介绍另一个在微信中,我们经常用到的功能,那就是菜单.在本文中,由于博主之前开发企业号时,微信企业号仅有链接,点击事件两个选项 ...

  9. 微信企业号开发(3)

    背景:接着微信企业号开发(2),讲如何设置菜单,接受处理菜单事件和用户发来的消息. 消息和事件:这两者都是以POST请求的方式发送给企业服务器的. 消息:"普通消息是指成员向企业号应用发送的 ...

最新文章

  1. mongodb 启动方法
  2. JDK 8 Javadoc调整了方法列表
  3. java虚拟机10.内存模型与线程
  4. 中油即时通信电脑版_市场营销之即时通讯营销
  5. 容器编排技术 -- 创建Kubernetes集群
  6. 最简单快捷搭建私链步骤笔记
  7. python教案 md文件_python操作pdf文件.md
  8. 算法21----重塑矩阵 LeetCode566
  9. Lazyload 延迟加载效果(转载)
  10. Vue知识点笔记(基础篇)
  11. python xlsxwriter dict_Python玩转Excel神器xlsxwriter详解
  12. t检验(t-test)临界值表(临界置信水平)
  13. NTC热敏电阻的主要技术参数
  14. python魔方方法
  15. android微单,用相机打电话 国产安卓系统微单了解一下
  16. 使用Python来编写一个简单的感知机
  17. .vscode/extensions下放的是插件
  18. 【更新公告】Airtest更新至1.2.4
  19. linux ethtool 命令详解
  20. 基于51单片机的波形发生器汇编语言proteus仿真

热门文章

  1. adb无法识别魅族note2
  2. SC-FDMA VS OFDMA
  3. 微信图标现在可以换颜色了???
  4. 齐鲁工业大学的计算机排名,2019年齐鲁工业大学优势专业排名及分数线
  5. 试图执行的操作不受支持解决办法
  6. 单片机双字节数乘法运算实验_单片机语音芯片既有flash又有EEPROM
  7. 主题:软件测试修炼之道
  8. 逆向破解之160个CrackMe —— 001
  9. PV、EV、AC、BAC、EAC、ETC
  10. 酒吧管理系统(大一c语言课程设计)