由于需求需要用到news推送方式,尝试了一下并在这里做下总结。

news方式区别于text方式无非多了url(推送点击后的跳转页面) 和 imgUrl(推送消息显示的图片的路径),imgUrl为空字符串时推送消息样式类似于text。

需要注意的是url需要加上微信的地址(一开始直接写跳转页面的地址一直无法显示),路径如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid="+corpid+"&redirect_uri="+ConfigContext.getValue("framework.academic.default.setup['projectUrl']")+"/page/news/announcementDetails.html?id=" + id + "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

其中corpid为企业微信的CorpId,  redirect_uri 后面接推送消息点击后需要跳转的页面url即可。

同时imgUrl需要注意的是路径必须是“/”, 无法自动识别“\"为”/“。本小白在图片路径上卡了很久,因为数据库查出来的都是”\", 之前非消息推送的页面url可以识别”\",所以也没在意,在这里吃了亏。好在发现了问题所在,通过 replaceAll后成功显示图片(imgUrl = projectUrl + fullImgUrl.substring(urlIndex).replaceAll("\\\\", "/");)。

代码如下:

//调用推送,搜集推送内容
Map<String,String> contentMap = new HashMap<String,String>();StringBuffer buffer = new StringBuffer();buffer.append(content.split("<p>")[1].split("</p>")[0]).append("\\n").append("\\n");buffer.append("发布时间:" + currentDateString);String description = buffer.toString(); //推送内容String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+corpid+"&redirect_uri="+ConfigContext.getValue("framework.academic.default.setup['projectUrl']")+"/page/news/announcementDetails.html?id=" + id + "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"; //跳转链接contentMap.put("title", title); //推送标题contentMap.put("description", description); //推送内容contentMap.put("url", url); //跳转链接contentMap.put("picurl", imgUrl); //图片路径String dk = ConfigContext.getValue("framework.academic.default.setup['agentId']"); //获取AgentIdSendMessWx.sendWeChatMsgText_util2("@all", "", "", contentMap, "no", dk);

//dk为推送模块的AgentId

//==================================================================================

// news推送方式

public static void sendWeChatMsgText_util2(String touser, String toparty, String totag,Map<String,String> content, String safe,String dk) {URL uRl;String Title = "";String Description = "";String URL = "";String PIC_URL = "";String ACCESS_TOKEN = "";ACCESS_TOKEN = getAccessToken_announcement();//获取 ACCESS_TOKENTitle = content.get("title");Description = content.get("description");URL = content.get("url");PIC_URL = content.get("picurl");// 拼接请求串String action = CREATE_SESSION_URL + ACCESS_TOKEN;// 封装发送消息请求jsonStringBuffer sb = new StringBuffer();sb.append("{");sb.append("\"touser\":" + "\"" + touser + "\",");sb.append("\"toparty\":" + "\"" + toparty + "\",");sb.append("\"totag\":" + "\"" + totag + "\",");sb.append("\"msgtype\":" + "\"news\",");sb.append("\"agentid\":" + "\"" + dk + "\",");sb.append("\"news\":" + "{");sb.append("\"articles\":" + "[");sb.append("{");sb.append("\"title\":" + "\"" + Title + "\",");sb.append("\"description\":" + "\"" + Description + "\",");sb.append("\"url\":" + "\"" + URL + "\",");sb.append("\"picurl\":" + "\"" + PIC_URL + "\"");sb.append("}");sb.append("]");sb.append("}");sb.append("}");String json = sb.toString();try {uRl = new URL(action);String result = WechatUtil.httpsRequest(action,"POST", JSONObject.fromObject(json).toString()); System.out.println("微信返回:"+result);} catch (Exception e) {e.printStackTrace();}}

微信企业号开发文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E7%B1%BB%E5%9E%8B%E5%8F%8A%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F

企业微信推送 - news 推送方式相关推荐

  1. DailyInfo——利用Python实现基于企业微信的每日图文推送

    DailyInfo 基于企业微信的每日图文推送 项目地址 Gitee地址 Github地址 支持功能 Bing必应 每日壁纸 金山词霸 每日一句 ONE·一个 一图一句 和风天气 多地区天气预报 农历 ...

  2. Beego搭建企业微信机器人定时消息推送

    Beego搭建企业微信Robot定时消息推送 功能说明 PostMan添加job msgType 默认是:text并且支持@all markdown支持颜色和样式但是不支持@all cron quar ...

  3. 企业微信每日给女友推送早安,5分钟快速部署,腾讯云部署版本,每日定时发送,天气,鸡汤,纪念日等信息,可自定义通知提醒名称,聊天界面可置顶,内容可查图片。

    企业微信每日给女朋友推送早安,5分钟快速部署,每日定时发送,天气,鸡汤,纪念日等信息,可自定义通知提醒名称,聊天界面可置顶,内容可查图片. 先看效果 直接开搞 准备工作 1.企业id 2.企业应用se ...

  4. python实现企业微信机器人的自动推送

    关于企业微信机器人的自动推送 前些天,做了一个关于企业微信机器人自动推送消息的一个小功能,在这里来聊一下其中学习到的一些内容. 由于是需要进行自动推送新闻,因此先对需要获得信息的网页进行爬取. 在爬取 ...

  5. Python实现企业微信群机器人自动化推送

    人工智能(Artificial Intelligence),英文缩写为AI.它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新的技术科学. --<百度百科> 文 ...

  6. 企业微信机器人脚本python_python提取数据库数据并实现企业微信机器人定时消息推送...

    之前发过一个企业微信群机器人接口调用发提醒的文章,是用最简单的VBS脚本+Windows任务计划来实现的,仅实现了定时发送固定内容的提醒.其实企业微信机器人就是一个webhook接口,用户以post ...

  7. python: 企业微信 机器人定制化推送

    需要实现的是: 1.企微推送 定制化消息 思路: (1)把需要推送的内容处理好 (2)调用企微api (3)推送时间的设置触发--可利用jekins的Build Triggers定时构建 上具体实现: ...

  8. ASP.NETwebService通过企业微信API向用户推送消息

    最近在做项目的时候,发现需要将某些消息自动发送到用户的企业微信中.研究一整天写出来webservice的方法去给企业微信发送消息. /// <summary>/// /// </su ...

  9. Java企业微信开发-企业微信所有类型消息推送封装

    企业微信开发第一步获取AccessToken,企业微信的AccessToken和公众号的不一样,企业微信所有接口调用只需要一个AccessToken,而公众号授权和jssdk是分开的 一.获取企业微信 ...

  10. 运用python实现企业微信群机器人消息推送

    使用场景:将BI报表精准推送入(群),精准触达用户 目的:提高管理层对数据的感知度 工具:python+企业微信 步骤: 1.创建企业微信群机器人,提取Webhook地址(群机器人地址) 2.编写代码 ...

最新文章

  1. 利用关系数据库开展智能化营销新思路详解
  2. jsp页面,在浏览器端显示时会出现乱码解决方法
  3. 上位机多个下位机modbustcp通讯_【C#上位机】西门子1200PLC实用定位控制程序案例...
  4. rm -rf ~/.bashrc 的惨痛教训
  5. android libc 有哪些函数_35K成功入职:腾讯视频面试Android经历!「含面试题+答案」...
  6. jQuery-个人学习记录(2)
  7. C语言 第五章 选择结构 答案,c语言第五章 选择结构程序设计(习题册答案).doc
  8. 如何在JS中改变Extjs combox 的值
  9. 在地址栏调试js(小技巧)
  10. 访问Cache和主存的效率计算问题
  11. 读书笔记-《麦肯锡方法》
  12. 单机:Oracle 19C 数据库一键安装
  13. Java集合,泛型,枚举详解
  14. [数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念
  15. 基于ESP32的microPython开发的智能小车
  16. mysql主主报错_MySQL 主主报错: Fatal error: The slave I/O thread stops because master and slave have...
  17. MIT6.828学习之homework2:shell
  18. 2058三国佚事——巴蜀之危
  19. 一个小需求引发的思考
  20. 视频教程-Bootstrap3从基础到案例实战,完美实现响应式网站案例-Bootstrap

热门文章

  1. 基于MCU的数控直流稳压电源设计
  2. iOS开发中对音效和音乐播放的简单实现
  3. 爱快软路由在VMware上安装过程分享,基于多网卡的本机+带多机上网,考研计算机网络实战
  4. 索尼计算机bios正确设置,索尼vaio笔记本如何进入bios设置_索尼笔记本进入bios图解...
  5. 【JAVA】从0开始写DHT/磁力爬虫 05 INFOHASH转种子
  6. JS睡眠sleep()
  7. 本地微信公众号授权登录获取code步骤
  8. 关于验证码错误的解决办法
  9. Linux正则表达式详解
  10. python while循环的用法_Python while循环语句详解