【问题标题】:Twitter streaming api OAuth unauthorizedTwitter流媒体API OAuth未经授权
【发布时间】:2015-09-15 10:53:17
【问题描述】:

我一直在与 Twitter 的流 api 斗争一段时间,试图在 node.js 中创建一个简单的应用程序,它可以实时读取推文,这是我以前见过的。我可以使用

发送 GET 请求

卷曲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 上有我的应用程序,所以我有我的令牌和秘密。

【问题讨论】:

  • 您不能再使用该 URL,因为它指的是 2012 年消失的 Twitter API v1。根据答案,您需要使用您的令牌配置 OAuth 设置。
  • 我个人使用Grant 获取访问令牌。你也可以试试showcase app

标签: json node.js twitter oauth twitter-oauth


【解决方案1】:

在您可以提出数据请求之前,需要反复“登录”到 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 对象中需要的四个身份验证值。

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

【讨论】:

    猜你喜欢
    • 2014-01-02
    • 2012-04-08
    • 1970-01-01
    • 2013-08-22
    • 2017-10-05
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2013-04-02
    相关资源
    最近更新 更多