Twitterstream媒体api OAuth未经授权

我一直在与Twitter的streamapi战斗一会儿,试图在node.js中做一个简单的应用程序,它只是读取我以前见过的tweets实时。 我可以发送GET请求

curl https:// myusername:mypassword@stream.twitter.com/1/statuses/filter.json?track = money

但它返回,我是未经授权的。 Twitter说我需要正确的OAuth头( https://dev.twitter.com/oauth/overview/authorizing-requests ),但我不确定甚至意味着什么,更不用说如何使用它。 我有我的应用程序dev.twitter.com/apps,所以我有我的代币和秘密。

在您提交数据请求之前,您需要前往“login”twitter并获得提出真实请求的权利。 这是OAuth所做的。 由于您使用的是节点,因此可以使用其中一个Twitter库来为您完成。 我使用这样的“twitter”模块:

var Twitter = require('twitter'); var client = new Twitter(cfg); //cfg contains the tokens and secrets client.stream('statuses/filter', {track: query}, function(stream) { stream.on('data', function(tweet) { console.log(tweet); }); }); 

模块文档描述了您在cfg对象中需要的四个authentication值。

https://www.npmjs.com/package/twitter