企业微信pushbear所踩的坑

前言
小白手拉手又双叒叕来了,续花神的

[自动化分享]](/c/7-category)

基于企业微信的一对多消息送达服务-完美替代pushbear

花神教程中有很明确的讲出由Pushbear转企业微信的原因及使用方法,但不尽奇然。
还是踩了几脚泥,误入坑中。那么对于这些坑计划是坑统统填上!
企业微信与Node-red的连接步骤大致分为以下几点

  • 注册企业微信——即百度搜索企业微信,然后自己微信登录,随便写个自己喜欢的名字,按照指引走即可
  • 企业微信信息填写——随便填写
  • 企业微信应用创建——参照花神教程
  • 域名填入——此处前提就是要有外网,且有域名(注意:有坑)
  • Node-red配置——安装节点[mw_shl_code=applescript,true]node-red-contrib-bizwechat[/mw_shl_code] 点击服务端配置(注意:有坑)
  • Node-red测试企业微信——花神教程中有测试流程,可以直接选用服务端已配置好之配置进行使用

[mw_shl_code=applescript,true]{“id”:“8de36836.2ad578”,“type”:“tab”,“label”:“流程9”,“disabled”:false,“info”:""},{“id”:“d2cfbe29.54fd9”,“type”:“debug”,“z”:“8de36836.2ad578”,“name”:"",“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“true”,“x”:401,“y”:246,“wires”:]},{“id”:“f1a926c1.47a0c8”,“type”:“bizwechat-input”,“z”:“8de36836.2ad578”,“name”:“1”,“bizwechat”:“66803d6f.5417b4”,“x”:209,“y”:391,“wires”:“d2cfbe29.54fd9”,“5b134336.fa0bec”]]},{“id”:“c022aade.b76af8”,“type”:“bizwechat-output”,“z”:“8de36836.2ad578”,“name”:"",“bizwechat”:“66803d6f.5417b4”,“x”:748,“y”:314,“wires”:]},{“id”:“5b134336.fa0bec”,“type”:“function”,“z”:“8de36836.2ad578”,“name”:"",“func”:"\nmsg.payload = “”\nreturn msg;",“outputs”:1,“noerr”:0,“x”:486,“y”:329,“wires”:“c022aade.b76af8”]]},{“id”:“2976594b.99a2e6”,“type”:“bizwechat-pushbear”,“z”:“8de36836.2ad578”,“name”:"",“bizwechat”:“66803d6f.5417b4”,“touser”:"",“toparty”:“测试”,“title”:“修改标题”,“description”:"",“x”:510,“y”:509,“wires”:“d2cfbe29.54fd9”]]},{“id”:“e89a3e0a.48d71”,“type”:“inject”,“z”:“8de36836.2ad578”,“name”:"",“topic”:"",“payload”:"",“payloadType”:“date”,“repeat”:"",“crontab”:"",“once”:false,“onceDelay”:0.1,“x”:194,“y”:507,“wires”:“d34c6f27.c06ed”]]},{“id”:“d34c6f27.c06ed”,“type”:“function”,“z”:“8de36836.2ad578”,“name”:"",“func”:"\nmsg.payload = 我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown:\n\n> * 整理知识,学习笔记\n> * 发布日记,杂文,所见所想\n> * 撰写发布技术文稿(代码支持)\n> * 撰写发布学术论文(LaTeX 公式支持)\n\n![cmd-markdown-logo](<img src="https://www.zybuluo.com/static/img/logo.png">)\nreturn msg;",“outputs”:1,“noerr”:0,“x”:365,“y”:509,“wires”:“2976594b.99a2e6”]]},{“id”:“66803d6f.5417b4”,“type”:“bizwechat-configurator”,“z”:"",“name”:"",“port”:“3001”,“corpid”:“wxc9daffb2cdab64b1”,“agentid”:" “,“corpsecret”:” “,“url”:”",“token”:" “,“aeskey”:” “,“client_id”:”",“client_secret”:""}
[/mw_shl_code]

可以理解分为6个大步骤,下面针对有遇到的坑点进行讲解

坑点位置

  • 镜像口
  • URL
  • 微信推送

以上3点为本人已经掉入之坑,也有很多小伙伴有掉入。下面开始填坑。

填坑
本教程以端口为8085进行讲解
花神教程中有明确讲出
特别说明:如果你是通过路由器端口映射到内网这台机器端口的,放url请填写 域名:端口访问
特别特别注意:这里的端口不是node-red的1880端口,而已你节点信息里面填写的端口
记住:端口不是Node-red的1880端口
下面开始
1.企业微信所设置端口为 8085
即在路由器中所配置内外口均需为8085

2.同理在Node-red里配置也需为8085
对照图如下



根据以上填写OK,即可部署,部署后会port:8085代表配置OK
或者使用IP:8085 会显示服务正常
若Node-red里出现"服务器无响应请再次确认配置中前后是否有空格(因复制鼠标有可能会多个空白项),然后再稍等一下下进行部署(给网络一点点时间反应,部署不成功请务必先检查配置,切勿频繁错误部署
错误展现一:


错误原因:Node-red里填写信息时有空格
解决方案:检查填写的所有信息的头和尾是都有空格

错误展现二:


此情况是在企业微信中保存自建小程序中接收消息API时所提示的
错误原因:未在Node-red里部署
解决方案:
特别注意: 先把这些信息填写到node-red节点信息中, 然后才能验证通过此步
特别注意: 先把这些信息填写到node-red节点信息中, 然后才能验证通过此步
特别注意: 先把这些信息填写到node-red节点信息中, 然后才能验证通过此步
这里花神有再三提醒。(应了那句话,看教程,不看大字,活该错误,哈哈)

3.微信的推送
这里首先是在添加自建小程序可见范围时把对应接收人员的信息添加进去
3.1如何添加联系人,详见花神教程倒数第二步


3.2
消息推送(详见花神教程倒数第一步)但此处我有遇到未收到推送
找到我的企业里面的微工作台找到邀请关注


解决方案:
1.使用已添加的微信扫描上面这个二维码进行关注
2.下载企业微信并关联已添加的微信
3.企业微信APP中点击我的——设置——新消息通知——仅在企业微信中接收消息(打开)
4.Node-red进行测试——此时微信及企业微信均有收到测试信息
5.关闭企业微信中接收消息按钮
6.删除企业微信APP(这个根据自己喜好)

温馨提醒:
关于域名请使用正规域名,请勿使用垃圾网站域名,否则详细信息会被微信误杀。


这是多么的尴尬(测试的第三条信息即被杀掉)大家引以为戒。
至于选用什么类型的域名暂时还未做详细研究,9块钱在阿里买了一个一年的域名暂时是正常接收。

以上结束,忘能帮助有遇到这些坑的小伙伴们。
感谢萝卜&花 开 堪 折 枝!

非常感谢,我踩了空格的坑。:stuck_out_tongue_winking_eye:

good~已部署完毕

这个不知道怎么推送消息,不像方糖的一个api就可以推送

比方糖复杂一丢丢,但是东西都是在自己的服务器,更主动一点

你好,可否帮忙指导一下?

补充个坑 ,端口的问题 ,不单单只是在路由器里转发你的端口就可以了 ,还需要你的容器里有这个端口,希望大佬可以把这个坑加上去 ,对于有点基础的应该不能算个坑,但是对于我这种小白来说,真的太致命了,折腾好几天.
刚才好像回复到前面那个帖子里了 ,:L

咨询个问题,我都配置好后,可以收到文字和图片消息,但是那种图文消息收到后点击查看详情,打不开网页应该设置什么地方?

哦,找到原因了,原来是我不细心导致的,在配置界面url地址没加端口。加上端口后就好了。:L

按照流程做了一遍,可以自动应答了,但是吐送的时候会提示:
“Error: [微信Token]获取access_token时Secret错误,或者access_token无效”

只有一个服务器端,不知道哪里有问题。

在docker容器下安装的node-red,需要把这个端口暴露出来。我原先node-red没有安装在docker内,一直正常使用。这几天在docker下重新安装了。发送消息都很正常,就是收不到消息,自己也是估计是docker容器隔离的问题。有你这提醒,坐实了,把3001端口暴露出来就ok了。好帖子,好补充