Node-RED + pushplus:流程里直接 POST 到微信
效果:任意 Node-RED 流程走到通知节点时,用 HTTP Request 把 JSON 发给 pushplus。
前置条件
- 一个 pushplus token(官网扫码获取)
- 可编辑流程的 Node-RED
配置步骤
- 在流程末尾拖一个 function 节点,组装报文:
msg.headers = { "Content-Type": "application/json" };
msg.payload = {
token: env.get("PUSHPLUS_TOKEN"),
title: msg.title || "Node-RED 通知",
content: msg.payload,
template: "txt"
};
return msg;
content 必须是字符串。若上一节点给出对象,先 JSON.stringify(msg.payload)。
后面接 http request 节点:
- Method:
POST - URL:
https://www.pushplus.plus/send - Return:
a parsed JSON object
- Method:
在 Node-RED 环境变量里加
PUSHPLUS_TOKEN,不要写进可导出的流程 JSON。部署流程。
固定文案、没有上游动态字段时,也可直接在 http request 的 URL 里用 GET:
https://www.pushplus.plus/send?token=你的token&title=Node-RED通知&content=流程已触发
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"Node-RED 配置测试","content":"token 可用","template":"markdown"}'
在编辑器点 inject 触发一次,返回 JSON 的 code 应为 200。
常见问题
http request 报错? 确认 Node-RED 所在主机能访问外网;公司代理要给该节点配 proxy。
content 为空被拒? pushplus 要求 content 必填,function 里先给默认字符串。