【发布时间】:2013-11-13 22:43:19
【问题描述】:
我是 twitter 流 api 的新手。我想 curl。
卷曲https://stream.twitter.com/1.1/statuses/filter.json?track=node
我如何使用 oAuth 访问令牌来获取公共流。 我的目标是获取关于节点的公共推文并使用节点在网页中显示。 我正在使用 ubuntu 终端。
【问题讨论】:
标签: curl twitter twitter-oauth
我是 twitter 流 api 的新手。我想 curl。
卷曲https://stream.twitter.com/1.1/statuses/filter.json?track=node
我如何使用 oAuth 访问令牌来获取公共流。 我的目标是获取关于节点的公共推文并使用节点在网页中显示。 我正在使用 ubuntu 终端。
【问题讨论】:
标签: curl twitter twitter-oauth
我知道这个问题很老,但这里有一个解决问题的 curl / node 部分的方法。希望这对其他人有帮助。
推特设置
首先,通过https://apps.twitter.com 向推特注册一个应用程序。这可以是任何东西,包括 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 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 的流式提要。
【讨论】: