我是twitter流媒体api的新手。我想卷曲。
curl https://stream.twitter.com/1.1/statuses/filter.json?track=node
如何使用oAuth访问令牌获取公共流。 我的目标是获取有关节点的公共推文,并使用节点在网页中显示。 我正在使用ubuntu终端。
答案 0 :(得分:4)
我知道这个问题已经过时了,但这里是问题卷曲/节点部分的解决方案。希望这对其他人有帮助。
Twitter设置
首先,在https://apps.twitter.com处通过Twitter注册应用程序。这可以是包括testingAppForNode等在内的任何内容。完成后,您应该在apps>下拥有API KEY和API SECRET。 yourApp>密钥和访问令牌
接下来,在列出API KEY / SECRET的apps.twitter.com页面上,生成访问令牌/密钥。此部分位于“应用程序设置”部分的下方。任何权限都适用于此用例。
您的Twitter设置应该已经完成,但请保持在同一页面上进行curl测试。
使用CURL进行测试
在Twitter应用程序仪表板(apps.twitter.com)的“密钥和访问权限”部分中,您应该在右上角有一个“测试OAuth”按钮。点击“OAuth工具”(https://dev.twitter.com/oauth/tools/signature-generator/ $ APP_ID)。
将“请求URI”字段替换为“https://stream.twitter.com/1.1/statuses/filter.json?track=node”,然后点击“获取OAuth签名”按钮。这应该生成一个自定义的curl命令,您可以将其剪切并粘贴到终端中。
与节点连接
(我在这里找到了以下示例:https://github.com/ciaranj/node-oauth/wiki/Interacting-with-Twitter。)
命令行:
npm install oauth
twitter.js:
var OAuth = require("oauth").OAuth,
oa = new OAuth(
"https://api.twitter.com/oauth/request_token",
"https://api.twitter.com/oauth/access_token",
"YOUR-CONSUMER-KEY",
"YOUR-CONSUMER-SECRET",
"1.0",
"",
"HMAC-SHA1"
);
var access_token = "YOUR-ACCESS-TOKEN";
var access_token_secret = "YOUR-ACCESS-TOKEN-SECRET";
var request = oa.get("https://stream.twitter.com/1.1/statuses/filter.json?track=node", access_token, access_token_secret);
request.addListener('response', function(response) {
response.setEncoding('utf8');
response.addListener('data', function(chunk) {
console.log(chunk);
});
response.addListener('end', function() {
console.log('-- END --');
});
});
request.end();
从命令行运行“node twitter.js”,您应该会看到来自Twitter的流式传输。