jfinal-weixin高级群发

mi-la-king 发布于 2014/10/29 12:52
阅读 1K+
收藏 3
请问 利用 jfinal-weixin 怎么实现高级群发功能
加载中
1
JFinal
JFinal

   无非就是主动向微信服务器主动发送数据,然后服务器会发回响应。具体到高级群发功能,这里仅给出微信官方有关高级群发功能的开发文档的第一个功能,上传图文消息素团,其它功能照此办理:

1、官方给出的消息格式

{"articles": [{
  "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
  "author":"xxx",
  "title":"Happy Day",
  "content_source_url":"www.qq.com",
  "content":"content",
  "digest":"digest",
  "show_cover_pic":"1"
},
{
  "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
  "author":"xxx",
  "title":"Happy Day",
  "content_source_url":"www.qq.com",
  "content":"content",
  "digest":"digest",
  "show_cover_pic":"0"
}]}

2、根据消息格式构造 json 字符串送给微信服务器得到结果

// 利用 Record 构建 articleList
List<Record> articleList = new ArrayList<Record>();
Record article = new Record();
article.set("thumb_media_id", "qI6_Ze_6PtV7sv");
article.set("author", "xxx");
article.set("title", "Happy Day");
article.set("content_source_url", "www.qq.com");
article.set("content", "content");
article.set("digest", "digest");
article.set("show_cover_pic", "1");
articleList.add(article);

// 根据微信官方要求的 json 格式继续构建
Map articles = new HashMap();
map.put("articles", articleList);
String data = JsonKit.toJson(articles);

String url = "https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=";
url += AccessTokenApi.getAccessToken().getAccessToken();
String result = HttpKit.post(url, data);
System.out.println(new ApiResult(result).getJson());

    上例中的 Record 类是 jfinal activerecord 中的一个组件,也可以使用 Map 代替。另外上例的 articleList 对象只演示了一条数据的情况,还可以继续 add(...) 新的 Recrod 对象实现多图文素材的上传。

   综上 JFinal Weixin 项目已经提供了各种API 交互的基础设施,由于时间关系暂未实现的 API 功能可以按照上面的思路轻松得到扩展。

mi-la-king
mi-la-king
@JFinal谢了
0
mi-la-king
mi-la-king
谢了大哥
0
mi-la-king
mi-la-king
ApiResult result = HttpKit.post(url, data);

 这两个返回值都不对的。。。

JFinal
JFinal
手误,应该是 String result
jarchan
jarchan
试试看weixin java tools
返回顶部
顶部