【问题标题】:Twitter stream API with node.js ERROR status code 401 at request: <anonymous>请求时带有 node.js 错误状态代码 401 的 Twitter 流 API:<匿名>
【发布时间】:2017-11-20 14:28:37
【问题描述】:

我对 Twitter Streaming API 和 Node.js 非常陌生(我昨天才学过这两个)。我正在尝试创建一个像 https://www.youtube.com/watch?v=5b98CC9IvZ8 这样的基本程序,它可以从 twitter 流式传输推文。我遵循了每一步,但出现了这个错误:

C:\Program Files\thesis>node twitter_collect.js
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Status Code: 401
    at Request.<anonymous> (C:\Program 
Files\thesis\node_modules\twitter\lib\twitter.js:277:28)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at Request.onRequestResponse (C:\Program 
Files\thesis\node_modules\request\request.js:1074:10)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at HTTPParser.parserOnIncomingClient [as onIncoming] 
(_http_client.js:473:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
    at TLSSocket.socketOnData (_http_client.js:362:20)
    at emitOne (events.js:96:13)

下面是我的代码:

var twit = require('twitter'),
twitter = new twit({
    consumer_key: 'Q7IcJHDBxWtmlqSj0JgublbaJ',
    consumer_secret: 'ylnM1Cfed4WMLO0VCUoIZxoLt77LTNEiqQ1h1LAtWWdfWVM2sh',
    access_token: '838296902739189760-E8ZMEDA6EYLrryIOEcx2Ud5CIZiBhJQ',
    access_token_secret: 'qqLAa11ysBpl4tZauPzrsITmLdJWYHr22DwGKmCkN2MI5'
});

var count = 0,
util = require('util');

twitter.stream('filter', {track: 'love'}, function(stream){

    stream.on('data', function(data){
        console.log(util.inspect(data));
        stream.destroy();
        process.exit(0);
    });
});

【问题讨论】:

  • 状态 401 用于未经授权的请求。您确定您的 API 密钥是正确的。 PS:保密
  • @Karl,你能在哪里解决这个问题?我也面临同样的问题。
  • 就我而言,我试图获取已暂停帐户的推文。更改screen_name 参数后,它起作用了。

标签: node.js twitter twitter-oauth


【解决方案1】:

我找到了解决方案。

访问令牌有一个前缀,例如“44553093-DEfu2ftEiHfRopZsL0YXmTSrOHDuhgyZNzrSW8LqY”。您缺少前缀,即“44553093”。我也犯了同样的错误。

该页面的 UI 并不理想,因为令牌分为两行,很容易错过包含前缀的第一行。见下图。

【讨论】:

    【解决方案2】:

    这是一篇较旧的帖子,但这仍然对其他人有帮助:

    更改:

    twitter.stream('filter', {track: 'love'}, function(stream){
    

    收件人:

    twitter.stream('statuses/filter', {track: 'love'}, function(stream){
    

    【讨论】:

      猜你喜欢
      • 2019-02-24
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 2020-12-06
      相关资源
      最近更新 更多