2

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

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

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

4

1 回答 1

4

我知道这个问题很老,但这是问题的 curl / node 部分的解决方案。希望这对其他人有帮助。

推特设置

首先,在https://apps.twitter.com向 Twitter 注册一个应用程序。这可以是任何东西,包括 testingAppForNode 等。完成后,您应该在 apps > yourApp > Keys and Access Tokens 下有一个 API KEY 和 API SECRET

接下来,在同一个 apps.twitter.com 页面上,您的 API KEY / SECRET 已列出,生成访问令牌 / 秘密。此部分就在“应用程序设置”部分的下方。任何权限都适用于此用例。

你的 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 安装 oauth

推特.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 的流式传输源。

于 2014-10-09T21:32:32.163 回答