如何使用oauth访问令牌进行twitter公共流

时间:2013-11-03 00:49:16

标签: curl twitter twitter-oauth

我是twitter流媒体api的新手。我想卷曲。

curl https://stream.twitter.com/1.1/statuses/filter.json?track=node

如何使用oAuth访问令牌获取公共流。 我的目标是获取有关节点的公共推文,并使用节点在网页中显示。 我正在使用ubuntu终端。

1 个答案:

答案 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的流式传输。