微信公众号开发整理(二)--图文消息回复

1.由于个人公众号许多接口权限用不了,这里方便测试,我们采用测试账号进行开发:



2.找到回复图文消息相关API文档


首先查看回复图文消息文本格式如下:


3.上一篇创建了一个公用的实体类,这次创建图文消息的回复,我们只需要继承公用的父类,具体实体类如下:

public class News {
private String Title;//标题
private String Description;//描述
private String PicUrl;//图片地址

private String Url;//访问地址

        set,get方法略。。。。}

public class NewsMessage extends CommMessage {
private int ArticleCount;//消息数量

private List<News> Articles;//消息体

       set,get方法略。。。。

}

添加我们需要显示的图片路径


这里我们同样需要把图文消息转化为XML文件的响应格式,在我们上一次创建的MessageUtil工具类中添加图文转xml及xml转图文的方法,添加图文消息静态常量,代码如下:


       //图文消息转化为XML   
public static String newsMessageToXml(NewsMessage newsMessage){
XStream xstream = new XStream();
xstream.alias("xml", newsMessage.getClass());
xstream.alias("item", new News().getClass());
return xstream.toXML(newsMessage);

}

       //图文消息的组装
public static String initNewsMessage(String toUserName,String fromUserName){
String message = null;
List<News> newList = new ArrayList<News>();
NewsMessage newsMessage = new NewsMessage();
News news = new News();
news.setTitle("JAVA程序员介绍");
news.setDescription("JAVA程序员广义上是指一群以JAVA为谋生手段的软件开发人员。狭义的说,是指拥有SUN公司JAVA认证的程序员。Sun Java认证分为两个级别:Sun 认证Java程序员和Sun 认证Java开发员。通常要求程序员精通java基础,java高级编程,及常用java设计模式,并深入理解mvc编程模式,了解uml相关知识!");
news.setPicUrl("http://c3798041.ngrok.io/WeiXinTest/image/java.jpg");//这里测试采用地址,换成自己项目下面的图片路径
news.setUrl("www.baidu.com");
newList.add(news);
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MESSAGE_NEWS);
newsMessage.setArticles(newList);
newsMessage.setArticleCount(newList.size());
message = newsMessageToXml(newsMessage);
return message;
}

5.在doPost方法中添加消息回应的相关逻辑:


运行结果如下:


  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值