lione95678 发表于 2019-5-10 09:48:10

请教,在node-red中的http请求节点如何输入数据

本帖最后由 lione95678 于 2019-5-10 09:54 编辑

想请教一下如何在node-red中的http请求节点中输入数据
起因,向通过node-red发送http post的请求,用来通过企业微信发送数据。
https://www.52pojie.cn/thread-804477-1-1.html
按照上面的教程,可以在安卓手机上的tasker发送企业微信,看了一下流程,他是先向企业微信发送一个http post,取得企业微信的access_token,
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=你企业微信的corpid&corpsecret=你企业微信的corpsecret
第二部,在http post 方式,用取得的corpsecret发送消息,在tasker中,是服务器端口填写https://qyapi.weixin.qq.com/,路径填写cgi-bin/message/send?access_token=你取得的access_token,数据文件中填写{"safe": 0,"text": {"content":"短信号码:%SMSRF\n短信日期:%SMSRD %SMSRT\n\n%SMSRB"}, "msgtype": "text", "touser": "@all", "agentid": 你企业的agentid}
我通过node-red的http请求节点,可以取得企业微信的corpsecret,但是我不知道如何把这个corpsecret和需要发送的内容通过http请求的方式发出去,特来请教,下面附上我的node-red流程,也请指教





也就是在第一个函数节点中输入企业微信的corpid和企业微信的corpsecret,http请求节点选择post,发送网址https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={{{corpid}}}&corpsecret={{{corpsecret}}}来取得access_token,然后split节点把收到的信息拆分显示,在通过switch节点中输入a,这样就能把由包含a字符的access_token单独显示出来。

[{"id":"f27bf446.5712a8","type":"inject","z":"26679f00.0218b2","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":2820,"wires":[["99b41848.dfed18"]]},{"id":"99b41848.dfed18","type":"function","z":"26679f00.0218b2","name":"基础数据","func":"//corpid\nmsg.corpid = '你企业微信的corpid'\n//corpsecret\nmsg.corpsecret = '你企业微信的corpsecret'\nreturn msg;","outputs":1,"noerr":0,"x":300,"y":2820,"wires":[["18a5bee7.bc2891"]]},{"id":"18a5bee7.bc2891","type":"http request","z":"26679f00.0218b2","name":"取得企业微信access_token","method":"POST","ret":"obj","paytoqs":false,"url":"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={{{corpid}}}&corpsecret={{{corpsecret}}}","tls":"","proxy":"","x":500,"y":2740,"wires":[["9eac39c1.613968"]]},{"id":"9eac39c1.613968","type":"split","z":"26679f00.0218b2","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":true,"addname":"topic","x":630,"y":2820,"wires":[["4ff3626a.15c5fc"]]},{"id":"4ff3626a.15c5fc","type":"switch","z":"26679f00.0218b2","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"a","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":810,"y":2820,"wires":[["aac02e57.f8d0b"]]},{"id":"aac02e57.f8d0b","type":"debug","z":"26679f00.0218b2","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":990,"y":2820,"wires":[]}]


hyf635269547 发表于 2019-5-10 12:17:47

沙发啊,没看懂

81795791 发表于 2019-5-10 14:53:35

本帖最后由 81795791 于 2019-5-10 15:03 编辑

我去试试。。。话说还是不懂楼主要干啥。。。。是要想办法输入你想推送的东西???

lmy8812 发表于 2019-5-10 16:49:13

本帖最后由 lmy8812 于 2019-5-10 16:54 编辑

你是要用NR给企业微信发信息?昨晚刚好开通企业微信,这会就有代码。在Access_Token里把ID和密码分别替换就好了
[{"id":"9146597d.de1c18","type":"inject","z":"c9f0c79.14de638","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":1320,"wires":[["fbf815b6.3268e8"]]},{"id":"fbf815b6.3268e8","type":"http request","z":"c9f0c79.14de638","name":"Access_Token","method":"GET","ret":"obj","url":"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=企业的ID&corpsecret=应用的密码","tls":"","x":360,"y":1320,"wires":[["24e0fa28.890366"]]},{"id":"6a8c9000.fb46c","type":"function","z":"c9f0c79.14de638","name":"msg","func":"msg.token = msg.payload.access_token;\nmsg.payload = {\n    \"agentid\" : 1000002,\n    \"safe\" : 0,\n    \"touser\" : \"xxxx\",\n    \"msgtype\" : \"textcard\",\n    \"textcard\" : {\n      \"url\" : msg.picUrl,\n      \"description\" : \"Who's knocking on heaven's door?\",\n      \"title\" : \"有人来了\"\n    }\n/*\n    \"msgtype\" : \"text\",\n    \"text\" : {\n      \"content\" : \"我就试一下下\"\n    },\n*/\n}\nreturn msg;","outputs":1,"noerr":0,"x":330,"y":1360,"wires":[["5dba839a.3ee28c"]]},{"id":"5dba839a.3ee28c","type":"http request","z":"c9f0c79.14de638","name":"Send msg","method":"POST","ret":"obj","url":"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={{{token}}}","tls":"","x":480,"y":1360,"wires":[["4dda6069.b2708"]]},{"id":"24e0fa28.890366","type":"switch","z":"c9f0c79.14de638","name":"If Worked","property":"payload.errcode","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":520,"y":1320,"wires":[["6a8c9000.fb46c"]]},{"id":"4dda6069.b2708","type":"debug","z":"c9f0c79.14de638","name":"企业微信","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":640,"y":1360,"wires":[]}]


pigcais 发表于 2019-5-11 08:59:31

lmy8812 发表于 2019-5-10 16:49
你是要用NR给企业微信发信息?昨晚刚好开通企业微信,这会就有代码。在Access_Token里把ID和密码分别替换就 ...

高人啊这么快

lione95678 发表于 2019-5-11 14:11:35

lmy8812 发表于 2019-5-10 16:49
你是要用NR给企业微信发信息?昨晚刚好开通企业微信,这会就有代码。在Access_Token里把ID和密码分别替换就 ...

十分感谢,总算搞懂了

风雨 发表于 2020-6-21 23:03:26

感谢分享,学习中

陆榕潇 发表于 2023-3-15 11:22:57

token 怎么用,放在哪个节点
页: [1]
查看完整版本: 请教,在node-red中的http请求节点如何输入数据