Java微信公众号推送消息

  • 1、导入pom文件
  • 2、编写yml文件
  • 3、配置文件
  • 4、配置bean
  • 5、service 模板消息主要代码
  • 6、外放接口测试
  • ==注:==
    • 1、控制台报40164,解决方法:
    • 2、模板参数问题

1、导入pom文件

<dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-mp</artifactId><version>3.6.0</version>
</dependency>

2、编写yml文件

如果仅推送消息,只配置公众号的appid与secret

wx:appid: xxxxxxxxxxsecret: xxxxxxxxxxx

3、配置文件

@Configuration
@ConfigurationProperties(prefix = "wx")
public class WxDto {/*** 公众号appId*/private String appId;/*** 公众号appSecret*/private String secret;public String getAppId() {return appId;}public void setAppId(String appId) {this.appId = appId;}public String getSecret() {return secret;}public void setSecret(String secret) {this.secret = secret;}}

4、配置bean

主要实例化配置相关的APPID,secret等。

@Component
public class WxConfig {private final WxDto wxProperties;/*** 构造** @param wxMpProperties*/public WxConfig(WxDto wxProperties) {this.wxProperties = wxProperties;}/*** 微信客户端配置存储** @return*/@Beanpublic WxMpConfigStorage wxMpConfigStorage() {WxMpDefaultConfigImpl configStorage = new WxMpDefaultConfigImpl();// 公众号appIdconfigStorage.setAppId(wxProperties.getAppId());// 公众号appSecretconfigStorage.setSecret(wxProperties.getSecret());return configStorage;}/*** WxMpService多个实现类 声明一个实例** @return*/@Beanpublic WxMpService wxMpService() {WxMpService wxMpService = new WxMpServiceImpl();wxMpService.setWxMpConfigStorage(wxMpConfigStorage());return wxMpService;}

5、service 模板消息主要代码

@Service
public class WxMsgService {/*** 微信公众号API的Service*/@Resourceprivate WxMpService wxMpService;public void sendWxMsg() {WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder().toUser("xxxxxx") // 接收者openid.templateId("xxxxxxx") // 模板id.url("https://baidu.com/") //点击消息要访问的网址.build();templateMessage.addData(new WxMpTemplateData("first", "测试", "#FF00FF")).addData(new WxMpTemplateData("Topic", "这是测试", "#A9A9A9")).addData(new WxMpTemplateData("Time", "这又是测试", "#FF00FF")).addData(new WxMpTemplateData("Address", "这又又是测试", "#000000")).addData(new WxMpTemplateData("remark", "这还是测试", "#000000"));String msgId = null;try {// 发送模板消息msgId = wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage);} catch (WxErrorException e) {e.printStackTrace();}System.out.printf("推送微信模板信息", msgId != null ? "成功" : "失败");}}

6、外放接口测试

@RestController
@RequestMapping("/admin/send")
public class SendController {@Resourceprivate WxMsgService wxmsg;@GetMapping("/tosend")public void tosend() {wxmsg.sendWxMsg();}
}

直接输入网址访问即可

注:

1、控制台报40164,解决方法:

进入微信开发者平台。在左侧菜单栏找到基本配置一项,将自己ip加到白名单里,问题解决

出现原因:公众号调用接口时都必须使用access_token

2、模板参数问题


一 一对应

 // 模板key 内容 颜色
templateMessage.addData(new WxMpTemplateData("first", "测试", "#FF00FF")).addData(new WxMpTemplateData("Topic", "这是测试", "#A9A9A9"))

Java微信公众号推送消息相关推荐

  1. 微信公众号推送消息前期准备

    微信公众号推送消息使用手册 1.准备 ​ 微信公众平台注册公众号.(https://mp.weixin.qq.com/) ​ 公众号进行"微信认证" ​ 开通"订阅通知& ...

  2. 【设计模式】之观察者模式——简单的“微信公众号推送消息给相关用户”

    目录 一.简单介绍 二.观察者模式涉及的4个角色 三.观察者模式demo:简单的"微信公众号推送消息给相关用户" 一.简单介绍 定义对象间"一对多"的依赖关系. ...

  3. JAVA微信公众号推送信息

    package weixin.util;import java.io.Serializable; /* *AccessToken 对象 */ public class AccessToken impl ...

  4. laravel框架中微信公众号推送消息

    首先呢,大家都知道微信公众号是我们现在微信的一个重要功能,那么下面到带大家分享一下微信公众号的基本消息推送,如图首先访问 https://mp.weixin.qq.com/debug/cgi-bin/ ...

  5. 微信公众号推送消息给用户?

    1.公众号群发 不管是订阅号服务号,还是服务器,每天都有数量限制,重要活动优惠无法及时推送,存在限制   2. 48小时信息推送 与微信公众号在48小时内互动的用户都可以接收到信息,不限次数推送,及时 ...

  6. C++下使用libcurl实现微信公众号推送消息到粉丝账号

    最近,需要将公司的产品报警信息推送到用户的微信上,之前有过FaceBook和Twitter API使用经验,但真正应用到产品还没有过,今天跑通了原理,记录一下: 入门原理:http://www.360 ...

  7. 微信服务器向公众号推送消息或事件后,开发者5秒内没有返回

    问题 Appid: xxxxx 昵称: xxxxx 时间: xxxxxxx 内容: 微信服务器向公众号推送消息或事件后,开发者5秒内没有返回 次数: 5分钟 80次 错误样例: [OpenID=xxx ...

  8. 微信服务器向公众号推送消息或事件后,微信服务器向公众号推送消息或事件后,得到的回应不合法?...

    呼啦08-04 加粗 标红 插入代码 插入链接 插入图片 上传视频 请 登录 后发表内容 关闭 新增或编辑超链接 链接地址 关闭 插入视频 视频链接 Appid: wxd4170daab0213d6a ...

  9. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

最新文章

  1. 数组中没有给初始值_Array中的reduce()、filter()、map()几张图搞懂
  2. Web前端三剑客之CSS基础
  3. 【car】为什么后轮驱动的电动小摩托后轮打滑时制动前轮能起到较好的防打滑效果(ESC、ESP、VSA车身稳定系统)
  4. cpu高对计算机有什么影响吗,CPU损坏对电脑造成哪些影响
  5. 华为耳机5根线怎么接线图解_联通宽带突然无法上网怎么急救处理?
  6. 7.深度学习练习:Regularization
  7. Linux之SWIG安装(无需安装pcre依赖)
  8. [转载] 七龙珠第一部——第029话 冒险再度开始
  9. hive 日誌怎麼查看_Hive日志调试 | 学步园
  10. UEBA 的当下与未来
  11. 为什么信号源输出仅过一个电阻后,示波器测量出的输出电压会随输入频率增大而减小?----浅谈传输线分布电容与示波器的电容对信号传输的一种常见影响
  12. Ubuntu网页微信调整全屏
  13. 手机vnc远程桌面,手机vnc远程桌面教程加配置说明
  14. 背包九讲之一:01背包问题
  15. 好用的z3数独求解器
  16. 邮件附件批量下载小程序
  17. 西北工业大学网安22考研847真题分享
  18. Vue3表单验证 单个验证 统一验证 自定验证
  19. 数梦工场7.5亿元都干点啥?
  20. 福禄克线缆测试的PATCH CORD和CHANNEL是什么

热门文章

  1. 为什么在计算机系统中,数值一律用补码来表示(存储)
  2. 腹黑指数php,3分钟测试,暴露你内心的腹黑指数!
  3. QT重写QPushButton的背景图片及填充
  4. 微信小程序:实用多功能工具箱微信小程序源码
  5. 常用时间与空间坐标系统
  6. Unity Shader报错:undeclared identifier ‘_LightColor0‘ 解决方案
  7. 隐私合规:移动SDK指纹收集
  8. 场效应管调光电路图_简易V-MOSFET调光灯电路
  9. 苹果进军印度市场到底有多难 连财政部长都不帮忙
  10. 史上最全的微信开放平台对接教程(附完整源代码,Github开源)