我正在使用npm "twit",它最终发布了Twitter状态更新。我让用户填写表单,表单的操作是对home/tweet/
之类的路径的发布请求。
在我的快递路由器中,我有一条路线home/tweet/
。表单数据并没有真正发布在那里,我这样做的原因是因为我正在提取表单字段qith req.body然后在路由器内部我向Twitter发送请求以创建新的推文。这是它的样子:
router.post("/tweet/", function(req,res){
var tweet = req.body.tweet;
Twitter.post('statuses/update', { status: myFuncs.encode(myFuncs.key, tweet) }, function(err, data, response) {
});
res.redirect('/');
})
即使这样有效,但对我来说感觉有点笨拙。有没有更好的方法来设计它?有没有更好的方法来提取表单字段而不使用req.body
的帖子请求,或使用req.query
的获取请求?
答案 0 :(得分:1)
虽然,我同意它似乎&#34; hacky&#34; ---正如你所说的那样---但不幸的是,由于Twitter没有在其API上启用CORS,你别无选择< em>但使用中介,例如您的服务器。或者,您可以使用第三方服务,但仍然就像您的服务器一样是中间人。