如何使用WxPusher向个人微信推送发送实时消息,比如定时任务等

wxpusher-sdk-java这个框架开源了:GitHub - wxpusher/wxpusher-sdk-java: 微信消息实时推送服务[WxPusher]的Java版本sdk,可以通过API实时给个人微信推送消息。wechat pusher.

文档地址:WxPusher微信推送服务

WxPusher (微信推送服务)是一个使用微信公众号作为通道的,实时信息推送平台,你可以通过调用API的方式,把信息推送到微信上,无需安装额外的软件,即可做到信息实时通知。 你可以使用WxPusher来做服务器报警通知、抢课通知、抢票通知,信息更新提示等。

WxPusher是免费的推送服务,为了能更好的服务大家,这里说明一下系统相关数据限制

消息发送,必须合法合规,发送违规违法欺诈等等非正常消息,可能被封号;

WxPusher推送的是实时消息,时效性比较强,过期以后消息也就没有价值了,目前WxPusher会为你保留7天的数据 ,7天以后不再提供可靠性保证,会不定时清理历史消息;

单条消息的数据长度(字符数)限制是:content<40000;summary<20(微信的限制,大于20显示不完);url<400,;

单条消息最大发送UID的数量<2000,单条消息最大发送topicIds的数量<5;

单个微信用户,也就是单个UID,每天最多接收2000条消息,请合理安排发送频率;

发送消息,最大QPS不能超过1,比如最多连续10秒调用10次发送接口,超过这个限制会被系统拦截。

尝试使用

演示使用地址:WxPusher-消息推送服务-演示程序

第一步:用微信扫描二维码,并关注

第二步:在下面的内容里面输入,并点击发送消息,就可以收到消息了 

使用API接入

1.先获取获取appToken

获取appToken前需要先创建一个app,有了这个app,就可以得到这个appToken了,说明文档:WxPusher微信推送服务。登陆后台之后,后台右上角有一个创建新应用:

在你创建应用的过程中,你应该已经看到appToken,如果没有保存,可以通过下面的方式重制它。打开应用的后台WxPusher微信消息推送服务,从左侧菜单栏,找到appToken菜单,在这里,你可以重置appToken,请注意,重置后,老的appToken会立即失效,调用接口会失败。

获取appToken

2.获取用户的UID

官方说明文档:WxPusher微信推送服务

目前有3种方式获取UID:

1.关注公众号:wxpusher,然后点击「我的」-「我的UID」查询到UID;

2.通过创建参数二维码接口创建一个定制的二维码,用户扫描此二维码后,会通过用户关注回调把UID推送给你;

3.通过创建参数二维码接口创建一个定制的二维码,然后用查询扫码用户UID接口,查询扫描此二维码的用户UID;

用户关注你后台这里的二维码,就可以在用户列表看到用户的UUID;

查看关注的用户UID:

可以将用户拉黑:

拉黑之后,用户将不会收到任何推送消息

拉黑之后,也可以重新取消拉黑状态:

取消拉黑之后,就可以重新收到推送的消息了

3.发送消息可以按照官方文档,发送HTTP请求即可

官方文档:WxPusher微信推送服务

POST接口 POST接口是功能完整的接口,推荐使用。

Content-Type:application/json

地址:https://wxpusher.zjiecode.com/api/send/message

请求数据放在body里面,具体参数如下:

JSON不支持注释,发送的时候,需要删除注释。

{"appToken":"AT_xxx",//必传"content":"<h1>H1标题</h1><br/><p style=\"color:red;\">欢迎你使用WxPusher,推荐使用HTML发送</p>",//必传//消息摘要,显示在微信聊天页面或者模版消息卡片上,限制长度20(微信只能显示20),可以不传,不传默认截取content前面的内容。"summary":"消息摘要",//内容类型 1表示文字  2表示html(只发送body标签内部的数据即可,不包括body标签,推荐使用这种) 3表示markdown "contentType":2,//发送目标的topicId,是一个数组!!!,也就是群发,使用uids单发的时候, 可以不传。"topicIds":[ 123],//发送目标的UID,是一个数组。注意uids和topicIds可以同时填写,也可以只填写一个。"uids":["UID_xxxx"],//原文链接,可选参数"url":"https://wxpusher.zjiecode.com", //是否验证订阅时间,true表示只推送给付费订阅用户,false表示推送的时候,不验证付费,不验证用户订阅到期时间,用户订阅过期了,也能收到。//verifyPay字段即将被废弃,请使用verifyPayType字段,传verifyPayType会忽略verifyPay"verifyPay":false, //是否验证订阅时间,0:不验证,1:只发送给付费的用户,2:只发送给未订阅或者订阅过期的用户"verifyPayType":0 
}

html格式的消息(contentType=2),支持通过标签复制,复制的语法如下:

<copy style="这里可以写复制按钮的style" data-clipboard-text="需要复制到剪贴板的内容">复制按钮的文字
</copy>一个例子如下,style默认可以不写:
<copy data-clipboard-text="被复制的内容">复制
</copy>

返回数据说明:

{"code": 1000, //状态码,非1000表示有异常"msg": "处理成功",//提示消息"data": [ //每个uid/topicid的发送状态,和发送的时候,一一对应,是一个数组,可能有多个{"uid": "UID_xxx",//用户uid"topicId": null, //主题ID"messageId": 121,//废弃⚠️,请不要再使用,后续会删除这个字段"messageContentId": 2123,//消息内容id,调用一次接口,生成一个,你可以通过此id调用删除消息接口,删除消息。本次发送的所有用户共享此消息内容。"sendRecordId": 12313,//消息发送id,每个uid用户或者topicId生成一个,可以通过这个id查询对某个用户的发送状态"code": 1000, //1000表示发送成功"status": "创建发送任务成功"}],"success": true
}

GET接口:GET接口是对POST接口的阉割,主要是为了某些情况下调用方便,只支持对文字(contentType=1)的发送,举例:

https://wxpusher.zjiecode.com/api/send/message/?appToken=AT_qHT0cTQfLwYOlBV9cJj9zDSyEmspsmyM&content=123&uid=c1BcpqxEbD8irqlGUh9BhOqR2BvH8yWZ&url=http%3a%2f%2fwxpusher.zjiecode.com

请求参数支持:appToken、uidtopicId、content、url、verifyPayType ,其中content和url请进行urlEncode编码。

GET接口只支持发送一个uid或者topicId,推荐使用POST接口

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/861945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot与MyBatis的集成应用

Spring Boot与MyBatis的集成应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来聊聊Spring Boot与MyBatis的集成应用。MyBatis是一款优秀的持久层框…

湖北大学2024年成人高考函授报名专升本教育学专业介绍

湖北大学&#xff0c;作为一所历史悠久、文化底蕴深厚的学府&#xff0c;其成人高等继续教育体系更是为广大学子提供了一片展翅高飞的蓝天。在这片知识的海洋中&#xff0c;专升本教育学专业如同一颗璀璨的明珠&#xff0c;闪耀着智慧的光芒。 湖北大学的专升本教育学专业&…

Postgresql从小白到高手 九 : psql高级查询及内部视图使用

Postgresql从小白到高手 九:pgsql 复杂查询及内部表高级查询 文章目录 Postgresql从小白到高手 九:pgsql 复杂查询及内部表高级查询一、多表查询二、pgsql内部表1.内部表2.内部表查询应用 一、多表查询 内联 &#xff1a;inner join on 简写 join on 结果集只有符合 筛选条件…

AI Native应用中的模型微调

AI Native应用中的模型微调 随着人工智能技术的飞速发展&#xff0c;AI Native应用已成为当今软件开发的前沿阵地。在AI Native应用中&#xff0c;模型微调是提升模型性能的关键步骤&#xff0c;它通过在特定领域的数据上进行学习&#xff0c;使模型更好地适应应用场景&#x…

Android U Settings 应用中 APN 菜单实现的代码逻辑

功能简介 MobileNetwork移动网络设置页面下有【接入点设置】(APN)。 问题:为什么Controller初始化找不到pref,然后报错。 Note:什么时候切换成Controller的呢?在Android T&U 上还没有更新成kt实现 ,但是已经有Controller的方案。 流程逻辑 1、界面“telephony_a…

软件可重用的“rule-of-three“

《软件工程的事实与谬误》《Facts and Fallacies of Software Engineering》中提到&#xff1a; 软件可重用有两个“三规则”&#xff1a; 构建可重用组件的难度是一次性组件的三倍一个可重用的组件应该在三个不同的应用程序中试用&#xff0c;然后它才会足够通用以接受到一个…

压缩wsl的磁盘占用空间

本文说的是wsl 2。 1. 关闭wsl&#xff0c;在cmd窗口中输入如下命令&#xff1a; wsl --shutdown 2. 接着输入&#xff1a;diskpart 这个命令会弹出新的窗口 3. 在新的窗口中输入&#xff1a; select vdisk file"d:\vos\unbutu\ext4.vhdx" 其中的 d:\vos\unbut…

Zoom社招前端面经

1. 了解事件循环机制么&#xff1f; JS 中的事件循环&#xff08;Event Loop&#xff09;是一种用于管理和调度异步任务执行的机制。它使得 JS 可以处理异步操作&#xff0c;如定时器、事件处理、网络请求等&#xff0c;而不会阻塞主线程的执行。 2. 说一下什么是宏任务微任务…

群晖系统百度网盘套件卸载之后无法再次安装 ContainerManager项目无法删除

前言 最近重新组了个NAS&#xff0c;在套件迁移的时候遇到个头疼的问题。在用矿神的百度网盘在迁移的时候出错了&#xff0c;于是我自己删掉baiduapp得容器和镜像然后卸载套件。不知道中间出了啥问题&#xff0c;套件是已经卸载了&#xff0c;但是群晖ContainerManager套件中的…

Adobe Indesign 操作

页面设计 页面设置 版面&#xff1a;图文和空白部分的总和。 版心&#xff1a;规划在版面中排印文本和图片的部分。 开本&#xff1a;单个页面的宽度和高度。 如图所示&#xff0c;新建文件&#xff0c;自定义是210297毫米。这个数据是开本大小。 点击“边距和分栏”&#…

Vue3学习笔记<->创建第一个vue项目

新建一个项目目录 找一个盘新建一个目录&#xff0c;我这里在D盘创建一个vuedemo目录作为项目存放的目录。使用idea打开目录。   单击ieda底部的按钮“Terminal”&#xff0c;打开命令行窗口&#xff0c;如果命令行窗口当前目录不是“vuedemo”&#xff0c;就切换到“vuedem…

抖音营销新策略:MessageBox与HubSpot集成,引领企业获客新潮流

在全球数字化浪潮中&#xff0c;抖音以其独特的短视频形式、庞大的用户群体和高度互动性&#xff0c;成为了企业出海战略中不可或缺的一环。抖音营销不仅仅是简单的内容发布和互动&#xff0c;它更是一种深度策略和创新思维的体现。今天将深入探讨抖音营销的核心价值、应用场景…

shell:使用结构化语句(for、while循环)

1. for命令 下面是bash shell中for命令的基本格式。 for var in list docommands done每次for命令遍历值列表&#xff0c;它都会将列表中的下个值赋给$test变量。$test变量可以像for 命令语句中的其他脚本变量一样使用。在最后一次迭代后&#xff0c;$test变量的值会在shell脚…

了解和解决“vcruntime140_1.dll”相关问题,有效修复vcruntime140_1.dll错误弹窗问题

在Windows操作系统中&#xff0c;经常会遇到各种DLL&#xff08;动态链接库&#xff09;错误&#xff0c;它们是Windows应用运行不可或缺的一部分。其中&#xff0c;“vcruntime140_1.dll”是一个常见的DLL文件&#xff0c;这个文件与Microsoft Visual Studio C 运行时相关联。…

使用Python Selenium,动态网页不再是难题!

目录 1、直接执行JS代码 🌐 1.1 execute_script基础用法 1.2 带参数执行JS函数 1.3 获取执行结果 2、使用execute_async_script异步执行 🔄 2.1 适用场景分析 2.2 实现异步操作示例 2.3 错误处理与调试技巧 3、JS与页面元素交互 👤 3.1 修改DOM属性 3.2 触发事…

C# 23设计模式备忘

创建型模式&#xff1a;单例&#xff08;Singleton&#xff09;模式&#xff1a;某个类只能生成一个实例&#xff0c;该类提供了一个全局访问点供外部获取该实例&#xff0c;其拓展是有限多例模式。 原型&#xff08;Prototype&#xff09;模式&#xff1a;将一个对象作为原型&…

下载和使用SLUN数据集

1. 下载数据集 网址在https://opendatalab.com/OpenDataLab/lsun/tree/main/raw/scenes 下载bedroom_val_lmdb.zip 然后解压后会又两个文件&#xff0c;一个data.mdb&#xff0c;另一个lock.mdb。 2. 使用torchvison使用LSUN数据集 我把解压后的bedroom_val_lmdb放在/home/…

Linux-笔记 udev机制介绍

目录 前言 概念 规则文件 规则文件的命名 规则文件的语法 匹配条件 赋值指令 例子 前言 由于之前利用udev机制实现了一个自动配置某功能的项目&#xff0c;所以这里做一下笔记总结&#xff0c;什么是udev&#xff1f;怎么用&#xff1f; 概念 udev其实是linux系统中一…

TypeScrip环境安装与基础

TS环境安装与基础 文章目录 一、什么是TypeScript&#xff08;微软开发的&#xff09;二、TypeScript的特性三、环境安装node安装配置详解&#xff08;常用&#xff1a;outDir&#xff0c;strict &#xff09; 四、注释方式五、数据类型 一、什么是TypeScript&#xff08;微软开…

MySQL如何定位慢查询以及使用EXPLAIN对SQL进行性能分析

在数据库的日常运维和开发中&#xff0c;SQL慢查询是一个常见且必须高度关注的问题。它不仅会影响用户体验&#xff0c;还可能对系统稳定性构成严重威胁。尤其是在数据量激增的情况下&#xff0c;如从几千到1万的数据增长到百万级&#xff0c;SQL查询的性能问题尤为突出。最近&…