教程: nodejs 做微信公众号开发,回复 xml 消息

首先需要你的后台跟服务器已经可以建立连接,这个不再冗述看官方教程就好 接入指南 。此篇介绍的是如何获取用户发来的信息,并回复它。

一、接收 xml 信息内容

我用的是 nodejs 的 express 后台框架,这个用什么都无所谓哈。

我要说的是,它的 xml 信息内容既不在 req.body 中,也不在 req.query 中,也不在 req.params 中,这个看了别人的文章才知道它在这:

let xmlData = ''
req.on('data', data => {xmlData += data.toString()
/*                xmlData =`<xml><ToUserName><![CDATA[gh_44543146fe48]]></ToUserName><FromUserName><![CDATA[oU9gc6M5bCiuL5rSfsCRn5djrtm0]]></FromUserName><CreateTime>1673838891</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[这]]></Content><MsgId>23963610449099327</MsgId></xml>`*/}).on('end', () => {let receiveMsg = JSON.parse(xml2json.toJson(xmlData))})

你要做的判断逻辑放到 req.on('end') 中即可。

这里需要再提一点,需要使用 xml2json 插件,用于将 xml 转成 json 数据,好获取其内容,具体用法看这 xml2json usage。之后从微信服务器获取到数据就是这样:

二、回复消息

在向微信服务器回复信息的时候需要严格按照它的格式来,所以这里就只能使用 模板语法了。发送的时候将接收和发送者的位置调换即可。

    .on('end', () => {let receiveMsg = JSON.parse(xml2json.toJson(xmlData))console.log('received msg: ',receiveMsg)let responseMsg = `<xml><ToUserName><![CDATA[${receiveMsg.xml.FromUserName}]]></ToUserName><FromUserName><![CDATA[${receiveMsg.xml.ToUserName}]]></FromUserName><CreateTime>${new Date().getTime()}</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[这是后台回复的内容]]></Content></xml>`console.log(responseMsg)res.send (responseMsg)})

结果就是:

教程: nodejs 做微信公众号开发,回复 xml 消息相关推荐

  1. 实例:用C#.NET手把手教你做微信公众号开发(20)--使用微信支付线上收款:jsapi方式

    在做线上.线下销售时,可以使用微信便捷支付,通过微信公众号收款有很多种收款方式,如下图: 今天我们来讲一下jsapi支付,场景就是在微信内打开某个页面,完成在线支付,同样一个网页,使用微信打开就是js ...

  2. 实例:用C#.NET手把手教你做微信公众号开发(21)--使用微信支付线上收款:H5方式

    在做线上.线下销售时,可以使用微信便捷支付,通过微信公众号收款有很多种收款方式,如下图: 今天我们来讲一下H5场景支付,使用手机浏览器打开就是H5方式,最常见的推广是短信内置链接,这种场景需要调用微信 ...

  3. 微信公众号php编程,PHP编程:微信公众号开发之文本消息自动回复php代码

    搜索热词 <微信公众号开发之文本消息自动回复PHP代码>要点: 本文介绍了微信公众号开发之文本消息自动回复PHP代码,希望对您有用.如果有疑问,可以联系我们. 本文实例为大家分享了PHP微 ...

  4. 微信公众 php代码,微信公众号开发之文本消息自动回复php代码_php实例

    本文实例为大家分享了php微信文本消息自动回复 别代码,供大家参考,具体内容如下 1.PHP示例代码下载 下载地址1:http://xiazai.php.net/201608/yuanma/phpwx ...

  5. 微信公众号开发接收图片消息,获取用户发送图片的media_id

    现在的手机都有拍照功能, 而且人们拍完照后, 喜欢跟朋友分享. 微信公众号也提供了一个功能, 允许你的粉丝在后台回复图片, 你可以通过公众平台提供的api接口, 获取到图片media_id, 然后把图 ...

  6. nodejs关联微信公众号开发

    微信公众号开发 需求:在web端用户实时操作的内容,在微信公众号获取到 实现:项目与微信公众号的连接,在微信公众号上回复,发送对应的文本,图片,视频内容 一.微信公众号的接入(三个部分) 1.node ...

  7. 实例:用C#.NET手把手教你做微信公众号开发(2)--普通消息处理之文本

    上一篇文章我们完成了自己的web服务器与微信公众号服务器的对接,本篇开始处理微信用户和服务器之间的互动交流.一个用户与公众号之间,无外乎用户向公众号发送信息.点击公众号里的菜单和链接,或者公众号向用户 ...

  8. 实例:用C#.NET手把手教你做微信公众号开发(4)--获取普通access_token、jsapi的方法;用MediaId获取微信服务器图片

    一.access_token概念 这里在后续几篇处理不同的普通消息文章前插播一个适用于整个微信公众号开发的公共类QinMingWeixinContainer,用于获取普通access_token和js ...

  9. 微信公众号开发接收语音消息时权限

    1.登录微信公众号 开发 -接口权限 2.开通接收语音识别结果权限 3.点击确定

最新文章

  1. 2022年人才引进,哪些高校待遇高?
  2. ASP.NET Core 中的 startup类
  3. 有幸见到一朵花的绽放
  4. Python习题10
  5. 大华供应链管理平台_files_锦江全球采购平台SRM系统2.0版本上线 打造更智能的供应链...
  6. 【TensorFlow-windows】keras接口——BatchNorm和ResNet
  7. JWT:我应该使用哪种签名算法?
  8. 锐驰机器人的市场_【年终盘点】2020年,锐驰的王炸新品!
  9. PAT乙级 1039 到底买不买
  10. java 情侣最佳升高_2016年最佳情侣:显示经理和窗口经理
  11. ModelDriven机制及其运用
  12. python一个函数调用另一个函数的返回值_python-调用另一个函数后立即从函数返回...
  13. Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found
  14. 小学计算机集体备课活动记录,信息技术学科组集体备课活动记录.doc
  15. jszip在线解压压缩文件
  16. 时间管理之番茄工作法
  17. 蓝桥杯第十届c语言试题答案,[蓝桥杯][2019年第十届真题]空间跳跃 - C语言网
  18. 电脑删除快捷键还有哪些?学会了让工作效率更提升
  19. 2021年全国职业院校技能大赛 “大数据技术与应用”—模拟赛题(四)
  20. JAVA基础_IO流_字节流_抽象类OutStreamInputStream

热门文章

  1. 推荐:六款强大的开源数据挖掘工具
  2. bugku 不好用的CE WriteUp
  3. 运用BBS营销成功案例并分析
  4. 4位超60岁程序员大爷的生存秘籍
  5. 学习自旋电子学的笔记01:微磁模拟软件OOMMF的教程(中文版)7-7.3.4章
  6. 计算机程序是怎样运行的
  7. 浙江工商大学20复试上机题之月利率
  8. CodeForces 3B-Lorry
  9. SpringBoot在K8s下实现优雅停机
  10. Android MediaPlayer 音乐播放器扫描 本地音乐、上一曲、下一曲切歌、播放本地音乐