用数据响应 Express 中的 Slack url
Posted
技术标签:
【中文标题】用数据响应 Express 中的 Slack url【英文标题】:Responding with data to a Slack url in Express 【发布时间】:2016-04-12 10:54:28 【问题描述】:我的 Node 后端使用 express 中间件有以下路由。我的应用程序使用 Slack 反斜杠 api 发布指向用户频道的链接。当用户单击时,它会在 Heroku 上托管的 Angular 应用程序上打开一个表单。
我要做的是在提交表单时更新 Slack 用户。
所以问题是,当下面的路由被触发时,我如何向 slack url 发送发布请求(显然 res 指向 /update)。我进行了很多研究并尝试重写标头并使用低级 http 方法,但我觉得有更好的解决方案。非常感谢您的帮助。
app.post("/update", function(req,res,next)
res url -> http://slackapi/12345/
res.json("text":"hello":
)
【问题讨论】:
【参考方案1】:res 不应该发送给 slack,这是对与您联系的人的回复。你需要向 slack 发送一个不同的请求,然后用 res 返回任何你想要的东西。
您可以使用request 模块生成一个http 请求来slack。
var request = require('request');
app.post("/update", function(req,res,next)
request('http://slackapi/12345/', function (error, response, body)
if (!error && response.statusCode == 200)
console.log(body);
res.json("text":"some answer to the requester");
else
res.json("text":"notify requester sending to slack falied");
);
);
【讨论】:
谢谢,我不介意使用请求,但有没有快速的方法? 不,express是服务器的一个模块,它可以接收请求,而不是发送请求 谢谢。我最终做了这样的事情var payload_slack ="text":"Thanks "+, you rock!";
var options = url: slack_url, method: "POST", json:true, body:payload_slack ;
request.post(options, function(error, response, body) if(!err) return res.json(resp);
其中 res 是角度侧的路由重定向:)以上是关于用数据响应 Express 中的 Slack url的主要内容,如果未能解决你的问题,请参考以下文章
对机器人 DM 的 Slack 模态提交响应无法在不同的工作空间上工作